深入理解python之self
发布时间:2025-09-29 11:04:23
首先,很明显,self只存在于类别方法中,独立的函数或方法不需要带来self。self必须定义类别方法,尽管在调用时不需要引入相应的参数。
self的名字不是必须的。self不是python中的关键词。你可以把它定义为a、b或其他名字,但它是粗俗的(为了统一其他编程语言,降低理解难度)。不要做另类。你不会理解的。在下一个例子中,将self改为myname没有错:
classPerson: def_init_(myname,name): myname.name=name defsayhello(myname): print'Mynameis:',myname.name p=Person('Bill') printp
self是指类实例对象本身(注意:不是类本身)。
classPerson: def_init_(self,name): self.name=name defsayhello(self): print'Mynameis:',self.name p=Person('Bill') printp
在上述例子中,self指向Person的实例p。 为什么不指向类本身呢?以下例子:
classPerson: def_init_(self,name): self.name=name defsayhello(self): print'Mynameis:',self.name p=Person('Bill') p1=Person('Apple') printp1
假如self指向类本身,那么当有多个实例对象时,self指向哪一个?
总结
self在定义时需要定义,但在调用时会自动传输。
self的名字没有规定死亡,但最好按照约定使用self
self总是指调用类的例子。