zhu894532094 发表于 2018-8-7 12:35:21

python的类(简介,没什么内容)

In :>...:   info='from>  ...:   def __init__(self,myname):
  ...:         self.name=myname
  ...:   def printName(self):
  ...:         print self.name
  ...:
  In : i1=c1('tom')
  In : i1.name
  Out: 'tom'
  In : i2=c1('jerry')
  In : i2.name
  Out: 'jerry'
  In : i1.info,i2.info

  Out: ('from>  __init__() :这个是类的内置方法,从超类object继承而来,作用是在类实例化的时候,自动执行一遍(这也是为什么要以两个下划线开头的原因,python解释器根据这些标记知道其有特殊含义,会执行特殊的操作),如果没有这个函数,我们就得手动执行函数里面的内容。
  self的作用:self起到类似记录实例名的作用,比如在本例中 i1=c1('tom'),python解释器会自动执行 c1.__init_(i1,'tom') 操作,所以这里self就被替换成了i1实例名,而且因为python强制self放在第一位,由此,我们可以猜想,python是根据位置来传递实例名,而不是根据self关键字来传递的,事实也证明确实如此。
  证明:

  In :>
  ...:   info='from>  ...:   def __init__(s,myname):
  ...:         s.name=myname
  ...:   def printName(s):
  ...:         print s.name
  ...:
  In : i3=c1('hello')
  In : i3.name
  Out: 'hello'
  In : i4=c1('word')
  In : i4.name
  Out: 'word'
  In : i3.info,i4.info

  Out: ('from>  In : c1.__init__(i4,'jerry')
  In : i4.name
  Out: 'jerry'
  其实类跟函数是很相似的,它也只是个可执行对象,只不过多了一些相关的控制机制
页: [1]
查看完整版本: python的类(简介,没什么内容)