我正想通過Python書「深入Python」和整個下面的文字來:自我和Python的__init__使用
當定義你的類方法時,你必須明確列出自己作爲第一個參數每種方法, 包括
__init__
。當您在班級中調用祖先班級的方法時,必須包含self
參數。但是當你從外部調用你的類方法時,你並沒有爲self
參數指定任何東西;您完全跳過它,Python會自動爲您添加實例引用。
請藉助示例幫助我理解本文。
我正想通過Python書「深入Python」和整個下面的文字來:自我和Python的__init__使用
當定義你的類方法時,你必須明確列出自己作爲第一個參數每種方法, 包括
__init__
。當您在班級中調用祖先班級的方法時,必須包含self
參數。但是當你從外部調用你的類方法時,你並沒有爲self
參數指定任何東西;您完全跳過它,Python會自動爲您添加實例引用。
請藉助示例幫助我理解本文。
名稱「自我」只是一個約定。如果您熟悉C++,可以調用類指針「this」而不是「self」,python編譯器會生成相同的代碼。
從類內部,您可以直接調用任何函數,而不需要「類對象」。作爲前綴。但是,您必須明確提供可能是「self」的類指針。
在類外部調用函數時,您沒有選擇將類對象作爲前綴。 python編譯器自動將該類對象作爲該函數的第一個參數。
謝謝!有了這個概念。 – kanishka
你做了你自己的研究嗎? Google搜索'python self method call'會給出http://effbot.org/pyfaq/why-must-self-be-used-explicitly-in-method-definitions-and-calls.htm,http:// pythontips .com/2013/08/07/the-self-variable-in-python-explained /,http://www.programiz.com/article/python-self-why等 –