【Python】对self和_init_的理解
以該例子來記錄自己對self和_init_的理解的理解??
#!/usr/bin/python # -*- coding: utf-8 -*- """ ------------------------------------------------------------------------------- Function: 【整理】Python中:self和init__的含義 + 為何要有self和__init__ http://www.crifan.com/summary_the_meaning_of_self_and___init___in_python_and_why_need_them Author: Crifan Verison: 2012-11-27 ------------------------------------------------------------------------------- """ class Person: def __init__(self, newPersionName): self.name = newPersionName; def sayYourName(self): print 'My name is %s'%(self.name); #My name is crifan def initDemo(): persionInstance = Person("crifan"); persionInstance.sayYourName(); if __name__=="__main__": initDemo();?
類,有屬性和方法
類的屬性,就是變量,在def __init__函數中,給類的屬性初始化,即這個類有什么樣的屬性
類的方法,就是函數,在下面的def sayYourName(self)函數中,定義類的方法,即這個類能做什么
這樣,在class?Person: 函數段中,類person就具有了屬性和方法.
類的實例,就是一個具體的例子,具備類的屬性和方法,且把類的屬性和方法都實例化
1.將類的屬性賦值
2.將類的方法進行具體的調用
?
?
self指當前類的實例本身
Python中,函數的第一個參數,名字為self,且是實例對象本身
Python中就規定好了,函數的第一個參數,就必須是實例對象本身,并且建議,約定俗成,把其名字寫為self
?
__init__函數,是給對應的類Class本身,進行初始化的
1.支持帶參數的類的初始化
2.實現類本身相關內容的初始化
__init__函數如何工作:
在創建一個新實例 persionInstance = Person("crifan"); 的時候,我們沒有專門調用__init__方法,只是在創建一個類的新實例時,把參數包括在圓括號內跟在類名后面,從而傳遞給__init__方法。這是這種方法的重要之處。
何時去使用 self 和 __init__:
http://woodpecker.org.cn/diveintopython/object_oriented_framework/defining_classes.html#d0e12045
當定義你自已的類方法時,你必須 明確將 self 作為每個方法的第一個參數列出,包括 __init__。當從你的類中調用一個父類的一個方法時,你必須包括 self 參數。但當你從類的外部調用你的類方法時,你不必對 self 參數指定任何值;你完全將其忽略,而 Python 會自動地替你增加實例的引用。
總結
以上是生活随笔為你收集整理的【Python】对self和_init_的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【项目实战】:Python 商铺地址分布
- 下一篇: 【Python】高级函数lambda函数