魔法属性
__doc__ 查看类的描述信息
格式:类.__doc __
__class__ 显示当前对象的类是谁
格式:对象.__class __
__module__ 显示当前操作的对象所在的模块
格式:对象.__module __
__new__ 创建对象时为对象分配空间,在初始化方法__init__之前被调用
格式:def __new __ ():
__init__ 初始化方法
格式:def __init __ ():
构造方法:new 和__init__的组合
__del__当对象在内存中释放时自动执行
__call__ 对象() 或类()() 触发执行__call__ 方法
__dict__ 显示类或对象中的所有属性
__str__获取对象的描述时,默认输出该方法的返回值(字符串) print或"%d"% 变量名
__getitem__ 获取
__setitem__ 设置
__delitem__ 删除
用于索引操作,如字典的使用
class Foo(object):
def __getitem__(self, key):
print('__getitem__', key)
def __setitem__(self, key, value):
print('__setitem__', key, value)
def __delitem__(self, key):
print('__delitem__', key)
obj = Foo()
result = obj['k1'] # 自动触发执行 __getitem__
obj['k2'] = 'zhangsan' # 自动触发执行 __setitem__
del obj['k1'] # 自动触发执行 __delitem__
__getslice __ 获取
__setslice __ 设置
__delslice __ 删除
用于索引操作,如列表的使用
class Foo(object):
def __getslice__(self, i, j):
print('__getslice__', i, j)
def __setslice__(self, i, j, sequence):
print('__setslice__', i, j)
def __delslice__(self, i, j):
print('__delslice__', i, j)
obj = Foo()
obj[-1:1] # 自动触发执行 __getslice__
obj[0:1] = [11,22,33,44] # 自动触发执行__setslice__ 列表切片可以直接设置值
del obj[0:2] # 自动触发执行 __delslice__
标签:__,obj,Python,self,魔法,key,print,def,大全
来源: https://blog.csdn.net/weixin_44850984/article/details/89813551