python特殊函数 __len__(self):】的更多相关文章

__len__ 如果一个类表现得像一个list,要获取有多少个元素,就得用 len() 函数. 要让 len() 函数工作正常,类必须提供一个特殊方法__len__(),它返回元素的个数. 例如,我们写一个 Students 类,把名字传进去: class Students(object): def __init__(self, *args): self.names = args def __len__(self): return len(self.names) 只要正确实现了__len__()…
__doc__  类(实例).__doc__ 类的描述信息 '''class des''' __module__ 类(实例).__module__ 表示当前操作的对象在那个模块 __class__     表示当前操作的对象的类是什么 __call__ 类(实例)调用时(加括号)执行 __dict__查看类或实例的所有属性结果 为字典 __str__打印对象时执行 python特殊函数 __call__()   __call__ 在Python中,函数其实是一个对象: >>> f = a…
1.__str__ 首先介绍__str__ class Students(object): def __init__(self, *args): self.names = args # def __str__(self): # return str(self.names) # __repr__ = __str__ ss = Students('hyq','ysy') ss >>><__main__.Students at 0x2075a779828> 打印类对象显示的是对象的…
__call__ 在Python中,函数其实是一个对象: >>> f = abs >>> f.__name__ 'abs' >>> f(-123) 123 由于 f 可以被调用,所以,f 被称为可调用对象. 所有的函数都是可调用对象. 一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__(). 我们把 Person 类变成一个可调用对象: class Person(object): def __init__(self, name,…
__cmp__ 对 int.str 等内置数据类型排序时,Python的 sorted() 按照默认的比较函数 cmp 排序,但是,如果对一组 Student 类的实例排序时,就必须提供我们自己的特殊方法 __cmp__(): class Student(object): def __init__(self, name, score): self.name = name self.score = score def __str__(self): return '(%s: %s)' % (self…
写在之前 今天给大家介绍几个比较特殊的函数,他们具有函数式编程的特点,有人将它们视为 Python 可进行 「函数式编程」 的见证,至于什么是函数式编程,不是本篇文章的重点,感兴趣的可以去了解一下.老读者可能都知道,我非常推崇 Python 的简洁优雅,而今天的这几个函数,有了它们,最大的好处就是可以让程序更简洁,当然,没有它们程序也可以用其它方式实现. lambda 函数 lambda 是一个可以只用一行就能解决问题的函数,让我们先看下面的例子: >>> def add(x): ...…
python的特殊方法:另外一种称谓是 dunder function, 就是 under-under function的简写,就是指那些前后都带双下划线的函数. 转自这里: https://blog.csdn.net/claroja/article/details/77058482 python的特殊方法使得python的编程方式更加的统一规范. python的特殊方法是被python解释器直接调用的,我们不需要直接调用它. 也就是说部能写成object.len(),而应该写成len(obje…
最近研究系统自动化测试想起了一年前有学习Python的想法,借此机会准备抽时间好好学学.为方便以后学习和查询特写以下博客! Python基础 1. Python数据结构 (1)Python字符串 (2)Python列表 (3)Python元组 (4)Python字典 2. Python面对对象 (1)变量 (2)函数 3. Python特殊函数 (1)Python迭代器 (2)Python生成器 4. Python标准库 (1)Python正则表达式(re) (2)Python时间(time/d…
3.类的继承 3.1,python中什么是类的继承 答案是肯定的. 也就是说,如果一个实例是一个子类,那么它也是一个父类 总是从某各类继承,如果没有合适的类,就要从object类继承:super()._init_方法是用来初始化父类的,如果没有调用这个方法,那么父类的属性就可能没有被正确的初始化. 3.2,继承一个类 如果已经定义了Person类,需要定义新的Student和Teacher类时,可以直接从Person类继承:class Person(object):    def __init_…
面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行.为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度. 而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象…