1. 程式人生 > 實用技巧 >學習Python中的self、__init__(self)

學習Python中的self、__init__(self)

python中的self

  • self代表類的例項,而self.class則指向類。
class Test:
	def print_self(self):
		print(self)
		print(self.__class__)
		
t = Test()
t.print_self()
<__main__.Test object at 0x102f90ac0>
<class '__main__.Test'>
  • self在定義時需要定義,在呼叫時會自動傳入。

python中的__init__(self)函式

  • 例項化操作(“呼叫”類物件)會建立一個空物件。許多類喜歡建立帶有特定初始狀態的自定義例項為此類定義可能包含一個名為__init__()的特殊方法:
def __init__(self):
    self.data = []
  • 當一個類定義了__init__()方法時,類的例項化操作會自動為新建立的類例項發起呼叫__init__().
  • init()中定義的變數是例項變數,用於每個例項的唯一資料。和類變數不同,類變數用於類的所有例項共享的屬性和方法:
class Dog:

    kind = 'canine'         # class variable shared by all instances

    def __init__(self, name):
        self.name = name    # instance variable unique to each instance

>>> d = Dog('Fido')
>>> e = Dog('Buddy')
>>> d.kind                  # shared by all dogs
'canine'
>>> e.kind                  # shared by all dogs
'canine'
>>> d.name                  # unique to d
'Fido'
>>> e.name                  # unique to e
'Buddy'

參考文件