python重载方法

据说,python的对象天生拥有一些神奇的方法,他们总被双下划线包围,他们是面向对象Python的一切。
他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个
方法就会在特殊的情况下被Python所调用,你可以定义自己想要的行为,而这一切都是自动发生的。

Python的魔法方法非常强大,然而随之而来的则是责任。了解正确的方法去使用非常重要!

注:原文地址http://bbs.fishc.com/forum.php?m ... peid%26typeid%3D403
      参考资料地址:http://www.runoob.com/python/python-object.html

时间: 2024-08-11 03:04:40

python重载方法的相关文章

(一)Python入门-6面向对象编程:05方法没有重载-方法的动态性

一:方法没有重载 在其他语言中,可以定义多个重名的方法,只要保证方法签名唯一即可.方法签名包含 3 个部分:方法名.参数数量.参数类型. Python中,方法的的参数没有声明类型(调用时确定参数的类型),参数的数量也可以由 可变参数控制.因此,Python中是没有方法的重载的.定义一个方法即可有多种调用方式, 相当于实现了其他语言中的方法的重载. 如果我们在类体中定义了多个重名的方法,只有最后一个方法有效. 建议:不要使用重名的方法!Python中方法没有重载. [操作] #Python中没有方

Python中类方法重载---大部分

重载方法格式: def __xxx__(self,other): ... 注:重载方法格式-----------------------------------------------------------------运算符运算符重载: 作用: 让自定义的类创建的对象像内建对象一样进项运算符操作 算数运算符: __add__ 加法 + __sub__ 减法 - __mul__ 乘法 * __truedif__ 除法 / __floordiv__ 地板除 // __mod__ 取模(求余) %

Python list方法总结

1.向列表的尾部添加一个新的元素 append(...) L.append(object) -- append object to end >>> a = ['sam',24,'shaw'] >>> a.append('35') >>> a ['sam', 24, 'shaw', '35'] 2.查找list中有多少个value count(...) L.count(value) -> integer -- returnnumber of occ

Python capitalize()方法

Python capitalize()方法 capitalize()方法返回字符串的一个副本,只有它的第一个字母大写.对于8位的字符串,这个方法与语言环境相关. 语法 以下是capitalize()方法的语法: str.capitalize() 参数 NA 返回值 此方法返回的字符串只有它的第一个字符大写的副本. 例子 下面的示例演示了capitalize方法的使用. #!/usr/bin/python str = "this is string example....wow!!!";

操作符重载方法

CLR规范要求重载操作符重载方法必须是public和static方法 C#要求操作符重载方法至少有一个参数的类型与当前定义的这个方法类型相同 为了减少运行时开销,编译器会直接针对基元类型执行运算,并直接生成操作这些类型的实例的中间代码(IL)指令,所以在Framework标准库中没有定义基元类型的操作符重载 代码示例 public sealed class Complexe { public static Complexe operator +(Complexe c1, Complexe c2)

重载方法匹配算法

(2.3.1的补充资料)泛读 Java overload resolution--重载方法匹配算法如下: (1)找出所有能够调用的方法.能够调用的方法意味着形参个数等于实参个数,实参的类型能够转换为方法形参的类型. (2)如果实参与形参的类型能够直接对应,则执行该方法. (3)如果能够调用的方法只有一个,则执行该方法. (4)能够调用的方法不止一个时,逐一作出判断:如果一个方法的类型签名都可以赋值给另一个方法,则后者(类型大者)被排除:重复此操作,直到无法排除为止. (5)经过步骤(4),如果只

Python字典方法copy()和deepcopy()的区别

1 from copy import deepcopy # import deepcopy模块 2 d = {} 3 d['name'] = ['black', 'guts'] # d = {'name': ['black', 'guts']} 4 c = d.copy() # c = {'name': ['black', 'guts']} 5 dc = deepcopy(d) # dc = {'name': ['black', 'guts']} 6 d['name'].append('whit

Python strip()方法

描述 Python strip() 方法用于移除字符串头尾指定的字符(默认为空格). 语法 strip()方法语法: str.strip([chars]); 参数 chars -- 移除字符串头尾指定的字符. 返回值 返回移除字符串头尾指定的字符生成的新字符串. 实例 以下实例展示了strip()函数的使用方法: #!/usr/bin/python str = "0000000this is string example....wow!!!0000000"; print str.str

Python startswith()方法

描述 Python startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False.如果参数 beg 和 end 指定值,则在指定范围内检查. 语法 startswith()方法语法: str.startswith(str, beg=0,end=len(string)); 参数 str -- 检测的字符串. strbeg -- 可选参数用于设置字符串检测的起始位置. strend -- 可选参数用于设置字符串检测的结束位置. 返回值 如果检测到