广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中操作符重载用法分析
  • 569
分享到

Python中操作符重载用法分析

操作Python 2022-06-04 19:06:59 569人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

本文实例讲述了python中操作符重载用法。分享给大家供大家参考,具体如下: 类可以重载python的操作符 操作符重载使我们的对象与内置的一样。__X__的名字的方法是特殊的挂钩(hook),Python

本文实例讲述了python中操作符重载用法。分享给大家供大家参考,具体如下:

类可以重载python的操作符

操作符重载使我们的对象与内置的一样。__X__的名字的方法是特殊的挂钩(hook),Python通过这种特殊的命名来拦截操作符,以实现重载。 python在计算操作符时会自动调用这样的方法,例如:

如果对象继承了__add__方法,当它出现在+表达式中时会调用这个方法。通过重载,用户定义的对象就像内置的一样。

在类中重载操作符

1、操作符重载使得类能拦截标准的python操作。
2、类可以重载所有的python的表达式操作符。
3、类可以重载对象操作:print,函数调用,限定等。
4、重载使得类的实例看起来更像内置的。
5、重载是通过特殊命名的类方法来实现的。

方法名 重载的操作说明 调用表达式
__init__ 构造函数 创建对象:class()
__del__ 析构函数 释放对象的时候
__add__ “+” x + y
__or__ “|” x | y
__repr__ 打印,转换 print x, `x`
__call__ 函数调用 X()
__getattr__ 属性引用 x.undefined
__getitem__ 索引 x[key],for循环,in测试
__setitem__ 索引赋值 x[key] = value
__getslice__ 分片 x[low:high]
__len__ 长度 len(x)
__cmp__ 比较 x == Y ,x < y
__radd__ 右边的操作符"+" 非实例 + x

例子:

__getitem__拦截了所有的索引操作


>>> class indexer:
def __getitem__(self,index):
return index ** 2
>>> x = indexer()
>>> for i in range(5):
print x[i]  #x[i]将调用__getitem__(x,i)
0
1
4
9
16

更多关于Python相关内容可查看本站专题:《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

--结束END--

本文标题: Python中操作符重载用法分析

本文链接: https://www.lsjlt.com/news/14944.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中操作符重载用法分析
    本文实例讲述了Python中操作符重载用法。分享给大家供大家参考,具体如下: 类可以重载python的操作符 操作符重载使我们的对象与内置的一样。__X__的名字的方法是特殊的挂钩(hook),python...
    99+
    2022-06-04
    操作 Python
  • C++中的操作符重载详细解析
    一、什么是操作符重载操作符重载可以分为两部分:“操作符”和“重载”。说到重载想必都不陌生了吧,这是一种编译时多态,重载实际上可以分为函数重载和操作符重载。运算符重载和函数重载的不同之...
    99+
    2022-11-15
    操作符重载 C++
  • Kotlin操作符重载的方法
    这篇“Kotlin操作符重载的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Kotlin操作符重载的方法”文章吧。算数运...
    99+
    2023-06-30
  • Python运算符重载实例分析
    这篇文章主要讲解了“Python运算符重载实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python运算符重载实例分析”吧!一、运算符重载(一)概述运算符重载是通过实现特定的方法使类...
    99+
    2023-06-29
  • Python3 操作符重载方法示例
    基础知识 实际上,“运算符重载”只是意味着在类方法中拦截内置的操作……当类的实例出现在内置操作中,Python自动调用你的方法,并且你的方法的返回值变成了相应操作的结果。以下是对重载的关键概念的复习: ...
    99+
    2022-06-04
    示例 操作 方法
  • C#中怎么操作符重载应用
    今天就跟大家聊聊有关C#中怎么操作符重载应用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在C#中,操作符==是对象类的非虚的(操作符不可以为虚的)方法,它是按引用比较的。当你构建一...
    99+
    2023-06-17
  • 使用Kotlin怎么实现操作符与操作符重载
    这篇文章将为大家详细讲解有关使用Kotlin怎么实现操作符与操作符重载,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Kotlin基础教程之操作符与操作符重载Kotlin操作符的使用方法与其他...
    99+
    2023-05-31
    kotlin 操作符重载 操作符
  • Python中的操作符--转载
    Operator Description Example + Addition - Adds values on either side of the operator a + b will give 30 - Subtraction...
    99+
    2023-01-31
    操作 Python
  • 【转载】Python字符串操作之字符串分
    1、 str.split():字符串分割函数   通过指定分隔符对字符串进行切片,并返回分割后的字符串列表。   语法:   str.split(s, num)[n]   参数说明:   s:表示指定的分隔符,不写的话,默认是空格(’ ‘...
    99+
    2023-01-30
    字符串 操作 Python
  • C#中怎么实现操作符重载
    C#中怎么实现操作符重载,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。C#操作符重载学习实践操作using System;  using&nb...
    99+
    2023-06-17
  • C++中运算符重载问题分析与解决方法
    C++中运算符重载问题分析与解决方法概述:在C++中,运算符重载是一种强大的功能,允许用户对已有的运算符进行重新定义,以适应特定的数据类型。然而,在使用运算符重载时,可能会遇到一些问题,如多个运算符重载函数的冲突、运算符重载函数无法匹配到预...
    99+
    2023-10-22
    解决方法 (Solutions) C++语言 (C++ Language) 运算符重载 (Operator Overlo
  • python字符串操作的示例分析
    这篇文章主要为大家展示了“python字符串操作的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python字符串操作的示例分析”这篇文章吧。字符串操作...
    99+
    2022-10-19
  • C#中方法重载实例分析
    这篇文章主要介绍了C#中方法重载实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#中方法重载实例分析文章都会有所收获,下面我们一起来看看吧。最近在看 C++ 的方法重载,我就在想 C# 中的重载底层是怎...
    99+
    2023-07-02
  • Python字符数据操作的示例分析
    这篇文章将为大家详细讲解有关Python字符数据操作的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。字符串操作字符串 + 运算符+运算符用于连接字符串,返回一个由连接在一起的操作数组成的字符串。&...
    99+
    2023-06-29
  • python字典合并操作符的示例分析
    这篇文章主要介绍了python字典合并操作符的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python的五大特点是什么python的五大特点:1.简单易学,开发程序...
    99+
    2023-06-14
  • mysql中in操作符的示例分析
    这篇文章给大家分享的是有关mysql中in操作符的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在之前学习其他模块的时候,我们接触到了in操作符,不过在mysql数据库中很多人就不知道怎么运用了。我们今天...
    99+
    2023-06-14
  • Python学习手册之内部方法、操作符重
     在上一篇文章中,我们介绍了 Python 的类和继承,现在我们介绍 Python 的内部方法、操作符重载和对象生命周期。  查看上一篇文章请点击:https://www.cnblogs.com/dustman/p/10016359.ht...
    99+
    2023-01-30
    手册 操作 方法
  • Python Hello World和字符串操作的实例分析
    Python Hello World和字符串操作的实例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。开那么,让我们开始吧!如果你糊涂了,我建议你在单独的选项卡中打开下面...
    99+
    2023-06-17
  • Python字符编码、正则、os操作举例分析
    这篇文章主要介绍“Python字符编码、正则、os操作举例分析”,在日常操作中,相信很多人在Python字符编码、正则、os操作举例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python字符编码、正则...
    99+
    2023-06-02
  • C#操作符的分类及用法
    本篇内容介绍了“C#操作符的分类及用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!算术: + - * / %逻辑: & | ^ ~...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作