python魔法属性_Python的常用魔法属性大全

魔法属性

__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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值