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

python scott 174℃ 0评论

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 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_ !!!

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

转载请注明:osetc.com » Python: Python中关于类和函数的初体验之"__init__"和"__str__"不是"_init_"和"_str_"

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址