码迷,mamicode.com
首页 > 编程语言 > 详细

Python中关于类和函数的初体验之"__init__"和"__str__"不是"_init_"和"_str_"

时间:2015-05-27 18:59:11      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:

刚刚接触Python,今天就是怎么也调试不过去了,上网上查直到晚上才查到一个有效信息,真是坑啊!原来Python中的这些“魔法”方法的命名里就有陷阱……

技术分享

上图中的那两个红圈圈,一定要记住哦,这些Python自带的方法,比如str和init前后都是两个"_",写一个"_"按F5运行肯定有问题!

拿我的同事猫脸屁做个类,因为他最烦人,所以我学习的时候也会带着他(二次元击打松尾芭蕉桑):

 1 import time
 2 def GetNowYear():
 3     return time.strftime("%Y",time.localtime(time.time()))
 4 
 5 class PiCat:
 6     def __init__(self,name,age):
 7         self.name = name
 8         self.age = age
 9     def __str__(self):
10         msg = "Hi, I‘m "+ self.name + ", I‘m " + str(self.age) +" years old."
11         return msg
12     
13 mlp = PiCat("Lianpi Mao",int(GetNowYear())-1990)
14 
15 print mlp.name
16 print mlp

这个程序很简单,就是让猫脸屁说一下自己的名字,并做一下自我介绍。

坑的就是那两个"_"啊!!!

是 __str__ 而不是 _str_ !!!

是 __init__ 而不是 _init_ !!!

Python中关于类和函数的初体验之"__init__"和"__str__"不是"_init_"和"_str_"

标签:

原文地址:http://www.cnblogs.com/LanTianYou/p/4534142.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!