日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python進階之魔術方法詳解_python

作者:驕陽根據地 ? 更新時間: 2022-03-29 編程語言

一、三個內置函數

1、@classmethod–類名.屬性名

2、@staticmethod–類名.屬性名

3、@property–設置只讀屬性,方法變屬性,別人不易篡改,調用:類名(). 屬性名

二、雙下劃線開頭和結尾的方法,叫魔術方法。

1、一個類對象,在__init__初始化之前,還有__new__方法,這里要重寫__new__方法,要調用父類的new方法,且將new方法創建的對象返回,即object.?new(cls),其中cls代表的是類對象本身(MyClass)。否則無返回值運行報錯。

在這里插入圖片描述

2、單例模式

這個__new__方法的應用之一,就是單例模式。

實現思路,藍色線一個回路。黃色線一個回路。

在這里插入圖片描述

具體腳本如下。t2實例對象,沒有name屬性,但是也神奇的輸出與t1一致的結果。如此類推,其他也一樣,如果把這個. py文件導入其他文件B. py中,在B. py中創建其他實例對象t3,調用這個name屬性時就會輸出與t1一樣的結果。其次,t1、t2、t3的內存地址即id(t1)三個都是一樣的。最后,還可以設置其他屬性,且之間屬性共用。

這個就是單例模式,即實例化一次。(如果多次實例化,設置屬性,明顯會浪費資源,所以單例模式誕生了。)

在這里插入圖片描述

總結

原文鏈接:https://blog.csdn.net/weixin_39399079/article/details/122502460

欄目分類
最近更新