2016-02-09 68 views
-2

我正想通過Python書「深入Python」和整個下面的文字來:自我和Python的__init__使用

當定義你的類方法時,你必須明確列出自己作爲第一個參數每種方法, 包括__init__。當您在班級中調用祖先班級的方法時,必須包含 self參數。但是當你從外部調用你的類方法時,你並沒有爲 self參數指定任何東西;您完全跳過它,Python會自動爲您添加實例引用。

請藉助示例幫助我理解本文。

+0

你做了你自己的研究嗎? 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等 –

回答

1

名稱「自我」只是一個約定。如果您熟悉C++,可以調用類指針「this」而不是「self」,python編譯器會生成相同的代碼。

從類內部,您可以直接調用任何函數,而不需要「類對象」。作爲前綴。但是,您必須明確提供可能是「self」的類指針。

在類外部調用函數時,您沒有選擇將類對象作爲前綴。 python編譯器自動將該類對象作爲該函數的第一個參數。

+0

謝謝!有了這個概念。 – kanishka