Python 中类都有哪些魔术方法
魔术方法
__init__:方法作用是给对象的属性进行赋值
__str__:print(keyou) 直接打印对象的时候会调用 __str__ 方法,一定只能返回字符串
__call__:(译:靠)对象.()自动调用,位置参数被args接收为元祖,关键字参数被kwargs接收
_getitem__:对象.[]会默认调用__getitem__方法,可以通过数字索引取值、切片操作
class PersonInfo: def __init__(self, name, age): # __init__ 方式作用是给对象的属性进行赋值 self.name = name self.age = age self.skills = [] def add_skill(self, item): self.skills.append(item) def __str__(self): # print(keyou) 直接打印对象的时候会调用 __str__ 方法,一定只能返回字符串 return f"[{self.name},{self.age}]" def __call__(self, *args, **kwargs): # (译:靠)对象.()自动调用,位置参数被args接收为元祖,关键字参数被kwargs接收 pass def __getitem__(self, item): # 对象.[]会默认调用__getitem__方法,可以通过数字索引取值、切片操作 return self.skills[item] # init keyou = PersonInfo("小明", 17) # str print(keyou) # 对象.() keyou("非常帅", True, sex="男", score=50) # getitem,添加技能,在切片 keyou.add_skill("会Python") keyou.add_skill("会吹牛") keyou.add_skill("会撞壁") print(keyou.skills) # 结果:[‘会Python‘, ‘会吹牛‘, ‘会撞壁‘] print(keyou[0:2:1]) # 结果:[‘会Python‘, ‘会吹牛‘]
*******请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/shouhu/,谢谢!!*******
相关推荐
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
夜斗不是神 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16
坚持是一种品质 2020-11-16
染血白衣 2020-11-16
huavhuahua 2020-11-20
meylovezn 2020-11-20
逍遥友 2020-11-20
weiiron 2020-11-16