麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

Python中的__new__與__init__魔術方法理解筆記

2020-02-23 06:08:51
字體:
來源:轉載
供稿:網友

很喜歡Python這門語言。在看過語法后學習了Django 這個 Web 開發框架。算是對 Python 有些熟悉了。不過對里面很多東西還是不知道,因為用的少。今天學習了兩個魔術方法:__new__ 和 __init__。

開攻:

如果對 Python 有所簡單了解的話應該知道它包含類這個概念的。語法如下:

代碼如下:
class ClassName:
    <statement - 1>:
        .
        .  
        .
    <statement - N>

問題來了。像我們學習的 C# 或是 Java 這些語言中,聲明類時,都是有構造函數的。類似下面這樣子:

代碼如下:
public class ClassName{
    public ClassName(){

    }
}

當然訪問修飾符不一定非得 public ,這不是重點就不啰嗦了。那 Python 中的構造函數是怎樣的呢?我自己的理解是它是沒有構造函數的。只不過在初始化時會調用一些內部的可被改變的方法。比如:__new__ 和 __init__ 。從字面意思理解 __new__ 應該會在 __init__ 之前執行,實際查了資料后確實是如此的。官方文檔中關于 __init__ 方法有這樣一句話:

代碼如下:
Many classes like to create objects with instances customized to a specific initial state. Therefore a class may define a special method named __init__()

意思就是說在創建類時,如果想指定的它的初始狀態,那么可以通過定義一個指定名稱為 __init__ 的方法去實現這樣的功能。這樣說來 __new__ 并不是官方推薦的初始化類時要使用的方法。但是 __new__ 卻是在 __init__ 之前執行的。官方文檔中對 __init__ 介紹的第一句便是:當創建實例時調用 __init__ 方法(Called when the instance is created.),后面又介紹說,如果想調用基類的 __init__方法必須顯式的調用,只繼承基類在初始化子類時并不會自動調用基類的 __init__ 方法。到此應該算是對 __init__ 方法了解了。

下面我們看一下 __new__ 方法是怎么回事兒。先看一下官方文檔:

代碼如下:
Called to create a new instance of class cls. __new__() is a static method (special-cased so you need not declare it as such) that takes the class of which an instance was requested as its first argument. The remaining arguments are those passed to the object constructor expression (the call to the class). The return value of __new__() should be the new object instance (usually an instance of cls).

Typical implementations create a new instance of the class by invoking the superclass's __new__() method using super(currentclass, cls).__new__(cls[, ...]) with appropriate arguments and then modifying the newly-created instance as necessary before returning it.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级免费特黄视频 | 成人综合一区二区 | 欧美日韩亚州综合 | 在线a毛片免费视频观看 | 日韩a毛片免费观看 | 免费黄色欧美视频 | 国产精品18久久久久久久久 | 亚洲av一级毛片特黄大片 | 久草在线公开视频 | 欧美成人免费在线视频 | 国产成年人在线观看 | 午夜亚洲影院 | 一本精品999爽爽久久久 | 国产高潮失禁喷水爽到抽搐视频 | a视频在线看 | 亚洲精品午夜国产va久久成人 | 毛片一级片 | 亚欧在线免费观看 | 在线观看中文字幕av | 久草在线视频新 | 免费在线观看成人av | 免费看国产 | 毛片在线免费播放 | 成人福利在线播放 | 免费黄色在线电影 | 88xx成人精品视频 | 羞羞视频免费网站入口 | 欧美一区二区三区久久精品视 | 欧美一级电影网 | 日日狠狠久久偷偷四色综合免费 | 成人福利在线视频 | 全黄裸片武则天一级第4季 偿还电影免费看 | 精品国产一区二区久久 | 成码无人av片在线观看网站 | 91精品国产乱码久久久久 | 成人黄色网战 | 日韩一级免费 | 在线观看免费毛片视频 | 色就色 综合偷拍区91网 | 久久国产精品91 | 污版视频在线观看 |