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]