本文共 644 字,大约阅读时间需要 2 分钟。
刚刚接触Python,今天就怎么也调试不过去了。上网上查直到晚上才查到一个有效信息,真是坑啊!原来Python中的这些“魔法”方法的命名里就有陷阱……
这些“魔法”方法的命名里就有陷阱,比如str和init前后都是两个"",写一个""按F5运行肯定有问题!
拿我的同事猫脸屁做个类,因为他最烦人,所以我学习的时候也会带着他(二次元击打松尾芭蕉桑):
class PiCat: def __init__(self, name, age): self.name = name self.age = age def __str__(self): msg = "Hi, I'm " + self.name + ", I'm " + str(self.age) + " years old." return msgmlp = PiCat("Lianpi Mao", int(GetNowYear())-1990)print(mlp.name)print(mlp) 这个程序很简单,就是让猫脸屁说一下自己的名字,并做一下自我介绍。
坑的就是那两个"_"啊!!!
是 __str__ 而不是 _str_ !!!
是 __init__ 而不是 _init_ !!!
这个坑让我花了不少时间才找到了解决办法。现在我明白了,魔法方法的命名确实有特殊规则,不能随便改动。
希望我的这个经历能提醒其他刚开始学习Python的同学,注意这些细节!
转载地址:http://mslfk.baihongyu.com/