说起python重载,大家学过其他的语言比如说C#语言的话,应该知道有方法重载和运算符重载的概念,但是python重载的话,有它自己的特殊性,下面我说说自己的一点看法,希望大家踊跃拍砖。
python 的重载主要包括方法重载和运算符重载。
1.python 方法重载: 其他的语言一般对于方法重载的话,主要是根据参数的类型不同或者是数量不同来区分同名的方法。而python则比较特殊,它本身是动态语言,方法的参数是没有类型的,当调用传值的时候才确定参数的类型,故对参数类型不同的方法无需考虑重载。对参数数量不同的方法,则(大多数情况下)可以采用参数默认值来实现。
比如你可以定义函数的默认值:
def info(x,y,z=1):
pass
2.python 运算符重载: 在C#中,我们通过使用关键字operator定义一个运算符方法,并定义与所在类相关的运算符行为。在 Python中,运算符重载的方式更为简单——每一个类都默认内置了所有可能的运算符方法,只要重写这个方法,就可以实现针对该运算符的重载。例如以下是重载加法操作:
class Info(object):
def __init__(self):
self.a = 11
self.b = 22
def __add__(self,x):
return self.a * self.b
a = Info()
b = Info()
print a + b
上面的例子是重写了+操作符号,你也可以重载其他的运算符。比如你可以重载乘号运算符,感兴趣的话,可以自己写写代码。
希望上面讲的2点能够让你对python重载有个简单的认识。有兴趣的可以关注下。 [python 动态创建类]
原创文章请注明转载自老王python,本文地址:http://www.cnpythoner.com/post/132.html作者:老王@python python 教程老王python,提供python相关的python 书籍,python 主机,django 教程和python 下载,希望大家能够喜欢!
分享到:
相关推荐
运算符重载.py python运算符重载
Python允许我们为自定义类重载比较运算符,以便根据类的属性或行为定义对象之间的比较逻辑。 重载比较运算符是通过定义特殊方法实现的,这些特殊方法以双下划线(__)开始和结束。以下是重载比较运算符所涉及的方法...
Python的流程控制
本文实例讲述了Python运算符重载用法。分享给大家供大家参考。具体分析如下: python中,我们在定义类的时候,可以通过实现一些函数来实现重载运算符。 例子如下: # -*- coding:utf-8 -*- ''''' Created on 2013-3...
### Python正确重载运算符的方法示例详解 #### 前言 运算符重载是Python编程中的一个重要概念,它允许我们自定义类的行为,使得类的实例能够像内置类型那样使用运算符。本文将详细介绍如何在Python中正确地重载...
本文实例讲述了Python运算符重载用法。分享给大家供大家参考。具体如下: 在Python语言中提供了类似于C++的运算符重在功能: 一下为Python运算符重在调用的方法如下: Method Overloads Call for __init__ 构造...
`Python-vuejs与Django集成并支持热代码重载`的主题涉及到两个关键的技术栈:Python的Django Web框架和JavaScript的Vue.js前端框架。这里我们将深入探讨这两个技术的集成以及如何实现热代码重载,从而提高开发效率。...
python 运算符重载 - 自定义分数类 示例
### Python如何重载模块实例解析 #### 模块的基本概念 在Python中,模块是一个非常重要的组成部分,它有助于实现代码的复用与组织。模块实际上就是包含Python代码的文件,通常扩展名为`.py`。一个模块可以定义函数...
在Python编程语言中,函数重载(Overloading)是一个常见的概念,它允许根据传入的参数类型或数量定义多个同名函数。然而,与许多其他面向对象的语言(如Java或C++)不同,Python并不直接支持函数重载。Python的设计...
Python中的运算符重载是一种强大的特性,允许程序员自定义运算符的行为,以便它们在特定类的对象上具有不同的意义。这使得代码更加直观和易于理解,尤其是处理自定义数据结构时。下面我们将深入探讨这个概念。 一、...
Python不支持重载,所以转换可能需要合并相似功能的重载方法。 3. 控制流:Java的if、for、while等控制结构在Python中有类似的对应,但语法略有不同,例如Python没有大括号来表示代码块,而是使用缩进来标识。 4. ...
什么是运载符重载?__add__,getitem:索引、分片,setitem:索引赋值,delitem:索引和分片删除,以及如何使用这些方法
所谓重载,就是多个相同函数名的函数,根据传入的参数个数,参数类型而执行不同的功能。所以函数重载实质上是为了解决编程中参数可变不统一的问题。这篇文章主要介绍了老生常谈python中的重载,需要的朋友可以参考下
在Python中,与许多其他面向对象的语言不同,Python并没有真正的“方法重载”概念。方法重载是指在同一个类中定义多个同名方法,但每个方法的参数列表不同,这样根据传入的参数类型或数量,编译器会自动选择合适的...
Python中的运算符重载是面向对象编程的一个重要特性,它允许程序员为自定义的数据类型赋予特定的运算符行为。在Python中,当我们定义一个类并创建了类的对象时,我们可能会希望这些对象能够像内置类型(如整数、...
二元运算符 特殊方法 + __add__,__radd__ – __sub__,__rsub__ * __mul__,__rmul__ / __div__,__rdiv__,__truediv__,__rtruediv__ // __floordiv__,__rfloordiv__ ...__xor__,__rx