栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

特殊成员与魔法方法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

特殊成员与魔法方法

print(cat.__dict__) # 以字典形式打印共有与私有成员属性 print(cat._Cat__private_name) # 访问私有成员属性 # __str__() print(cat) # 打印对象返回一段特性的话 而不是访问地址 print(str(cat)) # __len__() print(len(cat)) # 必须定义如何度量类长度 # __iter__() # 必须要返回迭代器 for i in cat: print(i) # __getitem__() __setitem__() __delitem__() print(cat[ name ]) # 使类具有下标访问能力 cat[ name ] Tim print(cat[ name ]) # 使类具有下标访问能力 print(cat.name) del cat[ name ] # print(cat.name) 删除了类成员变量 不能打印 # 数学运算 如果未定义函数则报错 如果未定义该加法类型则返回none # __add__() # __sub__() - # __mul__() * # __div__() / # __mod__() % # __pow__() ** cat_another Cat( Tom_another , 20) print(cat cat_another) cat2 cat cat_another cat3 cat_another cat2 # cat3 cat2 cat_another 必须满足顺序传参 print(cat3) 二、类
class Cat:
 这是猫类
 def __init__(self, name, tail_length 10):
 self.name name
 self.__private_name name
 self.tail_length tail_length
 print( 我是一只猫 我叫%s % self.name)
 def __del__(self):
 print( 我被系统回收了 )
 def __call__(self, *args, **kwargs):
 print( Cat , args[0] args[1])
 def __str__(self):
 return 我是%s % self.name
 def __len__(self):
 return self.tail_length
 def __iter__(self):
 return iter([1, 2, 3, 4])
 def __getitem__(self, item):
 if item name :
 return self.name
 else:
 return None
 def __setitem__(self, key, value):
 if key name :
 self.name value
 def __delitem__(self, key):
 if key name :
 del self.name
 def __add__(self, other):
 if isinstance(other, Cat):
 return [self, other]
 elif isinstance(other, list):
 other.append(self)
 return other
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267564.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号