程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python類中的方法要加self的理由

編輯:Python

參考 Python類中的方法要加self的理由 - 雲+社區 - 騰訊雲

Python類中的self到底是干啥的

首先明確的是self只有在類的方法中才會有,獨立的函數或方法是不必帶有self的。self在定義類的方法時是必須有的,雖然在調用時不必傳入相應的參數。

self名稱不是必須的,在python中self不是關鍵詞,你可以定義成a或b或其它名字都可以,但是約定成俗(為了和其他編程語言統一,減少理解難度),不要搞另類,大家會不明白的。

下例中將self改為myname一樣沒有錯誤:

class Person:
def _init_(myname,name):
myname.name=name
def sayhello(myname):
print 'My name is:',myname.name
p=Person('Bill')
print p

self指的是類實例對象本身(注意:不是類本身)。

class Person:
def _init_(self,name):
self.name=name
def sayhello(self):
print 'My name is:',self.name
p=Person('Bill')
print p

在上述例子中,self指向Person的實例p。 為什麼不是指向類本身呢,如下例子:

class Person:
def _init_(self,name):
self.name=name
def sayhello(self):
print 'My name is:',self.name
p1=Person('Bill')
p2 = Person('Apple')
print p1

如果self指向類本身,那麼當有多個實例對象時,self指向哪一個呢?

總結

self在定義時需要定義,但是在調用時會自動傳入。

self的名字並不是規定死的,但是最好還是按照約定是用self

self總是指調用時的類的實例。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved