python重载
说起python重载,大家学过其他的语言比如说C#语言的话,应该知道有方法重载和运算符重载的概念,但是python重载的话,有它自己的特殊性,下面我说说自己的一点看法,希望大家踊跃拍砖。
python的重载主要包括方法重载和运算符重载。
1.python方法重载:其他的语言一般对于方法重载的话,主要是根据参数的类型不同或者是数量不同来区分同名的方法。而python则比较特殊,它本身是动态语言,方法的参数是没有类型的,当调用传值的时候才确定参数的类型,故对参数类型不同的方法无需考虑重载。对参数数量不同的方法,则(大多数情况下)可以采用参数默认值来实现。
比如你可以定义函数的默认值:
definfo(x,y,z=1):
pass
2.python运算符重载:在C#中,我们通过使用关键字operator定义一个运算符方法,并定义与所在类相关的运算符行为。在Python中,运算符重载的方式更为简单——每一个类都默认内置了所有可能的运算符方法,只要重写这个方法,就可以实现针对该运算符的重载。例如以下是重载加法操作:
classInfo(object):
def__init__(self):
self.a=11
self.b=22
def__add__(self,x):
returnself.a*self.b
a=Info()
b=Info()
printa+b
上面的例子是重写了+操作符号,你也可以重载其他的运算符。比如你可以重载乘号运算符,感兴趣的话,可以做做这到题目。http://bbs.cnpythoner.com/viewthread.php?tid=252&extra=
希望上面讲的2点能够让你对python重载有个简单的认识。
以上内容为大家介绍了python重载,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。http://www.mobiletrain.org/

相关推荐HOT
更多>>
文本处理用c还是用python
文本处理python与c的对比:如下c++语言:C++语言实现C++中没有实现split功能的函数,下面用C++STL中的一些函数模拟实现split功能。#include#inc...详情>>
2023-11-06 23:42:24
Python什么是函数式编程?
函数式编程使用一系列的函数解决问题。函数仅接受输入并产生输出,不包含任何能影响产生输出的内部状态。任何情况下,使用相同的参数调用函数始...详情>>
2023-11-06 17:27:35
列举python常见的内置函数
abs()返回数字的绝对值map根据函数对指定序列做映射map()函数接收两个参数,一个是函数,一个是可迭代对象,map将传入的函数依次作用到序列的每...详情>>
2023-11-06 15:21:35
Python之select、poll、epoll模型的区别
select、poll、epoll模型的区别?(属于多路复用IO的模型)都是i/o多路复用的机制,监视多个socket是否发生变化,本质上都是同步i/oselect,poll实...详情>>
2023-11-06 14:44:24