classmethod 类方法的装饰器, 内置函数
staticmethod 静态方法的装饰器 内置函数
如果一个类里面的方法,既不需要用到self中的资源,也不用cls中的资源,想当于一个普通的函数
但是你由于某种原因,还要拿这个方法放在类中,这个时候,就将这个方法变成一个静态方法
某种原因:
你完全想用面向对象编程,所有的函数都必须写在类中
某个功能确确实实施这个类的方法,但是确确实实没有用过和这个类有关系的资源
列表中不要用pop(参数) insert() 特别消耗性能,但是可以用pop() append()
import sys mymodule=sys.modules["__mian__"] getattr(mymodule,"变量名")__名字__ 不是被直接调用
间接调用: 内置函数/面向对象中特殊语法/python提供的语法糖
__str__ :str(obj) 要求必须实现__str__ 要求这个方法的返回值必须是字符串str类型
__call__ : 对象() 用类写装饰器
__len__ : 要求obj必须实现了__len__,要求这个方法的返回值必须是数字int类型
__new__: 在实例化的过程中,最先执行的方法,在执行init之前,用来创造一个对象,构造方法
__init__ : 在实例化的过程中,在new执行之后,自动触发的一个初始化
__repr__ 是__str__ 的备胎,如果有__str__ 没有的话要向上找,只要父类不是object,就执行父类的__str__ ,但是如果出了object之外的父类都没有__str__方法,就执行子类的__repr__ 方法,如果子类也没有,还要向上继续找父类中的__repr__ 方法,一直到找不到,再执行object类中的__str__ 方法
hashhash方法
底层数据结构基于hash值寻址的优化操作
hash是一个算法,能够把某一个要存在内存里的值通过一系列计算,保证不同值的hash结果是不一样的
对同一个值在多次执行python代码的时候hash值不一样
但是对同一个值,在同一次执行python代码的时候hash值永远不变