欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Python作為高度封裝的語言,為什么在定義類方法時,形參欄還要主動寫出self這一參數(shù)?

錢浩然2年前15瀏覽0評論

先解釋封裝,然后解釋self。

所謂封裝就是“內(nèi)部實現(xiàn)”與“外部使用”的脫離,脫離得越好,封裝得就越好。比如電話撥號,不論用智能機、傳統(tǒng)手機或者座機打電話,撥號都是通過按幾個數(shù)字來完成的,這叫做“外部使用”完全一致。但其實不同機器實現(xiàn)打電話的原理越是完全不同,這叫做“內(nèi)部實現(xiàn)”的不同。

所以封裝得好不好一般不用來形容語言,而是用來形容那些會被反復使用的函數(shù)、類或者某一套接口。

至于python中,類的方法需要顯示地寫第一個參數(shù)(比如self),按照上述封裝的概念可知,self其實與封裝無關(guān)。因為self只在“內(nèi)部實現(xiàn)”的時候出現(xiàn),“外部使用”的時候根本不出現(xiàn)。所以self并不會影響“外部使用”,或者說并不影響封裝程度。

而顯示寫self也有好處。比如,如果類的定義有嵌套(即在類的方法中再定義一個類及其方法),那么完全可以將self改成別的變量名字,以使得內(nèi)部的方法可以使用外部的類的實例,例如: