欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中的__init__作用是什么

 更新時間:2020年06月09日 15:24:38   作者:silencement  
在本篇文章里小編給大家分享的是關于Python中的__init__作用以及相關用法內容,需要的朋友們可以學習下。

看到Python中有個函數名比較奇特,__init__我知道加下劃線的函數會自動運行,但是不知道它存在的具體意義..

Python中所有的類成員(包括數據成員)都是 公共的 ,所有的方法都是 有效的 。

只有一個例外:如果你使用的數據成員名稱以 雙下劃線前綴 比如__privatevar,Python的名稱管理體系會有效地把它作為私有變量。

這樣就有一個慣例,如果某個變量只想在類或對象中使用,就應該以單下劃線前綴。而其他的名稱都將作為公共的,可以被其他類/對象使用。記住這只是一個慣例,并不是Python所要求的(與雙下劃線前綴不同)。

同樣,注意__del__方法與 destructor 的概念類似。"

恍然大悟原來__init__在類中被用做構造函數,固定寫法,看似很死板,其實有道理

def __init__(self, name):
  '''Initializes the person's data.'''
  self.name = name
  print '(Initializing %s)' % self.name
  # When this person is created, he/she
  # adds to the population
  Person.population += 1

name變量屬于對象(它使用self賦值)因此是對象的變量

self.name的值根據每個對象指定,這表明了它作為對象的變量的本質。

例如我們定義一個Box類,有width, height, depth三個屬性,以及計算體積的方法:

class Box:
  def setDimension(self, width, height, depth):
    self.width = width
    self.height = height
    self.depth = depth
  def getVolume(self):
    return self.width * self.height * self.depth
b = Box()
b.setDimension(10, 20, 30)
print(b.getVolume())

我們在Box類中定義了setDimension方法去設定該Box的屬性,這樣過于繁瑣,而用__init__()這個特殊的方法就可以方便地自己對類的屬性進行定義,__init__()方法又被稱為構造器(constructor)

class Box:
  #def setDimension(self, width, height, depth):
  #  self.width = width
  #  self.height = height
  #  self.depth = depth
  def __init__(self, width, height, depth):
    self.width = width
    self.height = height
    self.depth = depth
  def getVolume(self):
    return self.width * self.height * self.depth
b = Box(10, 20, 30)
print(b.getVolume())

知識點擴展:

__init__()要點如下:

1.名稱固定,必須為__init__()

2.第一個參數固定,必須為self。self指的就是剛剛創(chuàng)建好的示例對象。

3.構造函數通常用來初始化示例屬性,如下代碼就是初始化示例屬性:

4.通過類名(參數列表),來調用構造函數,調用后,將創(chuàng)建好的對象返回給相應的變量。

5.__init__()方法:初始化創(chuàng)建好的對象,初始化指的是:"給實例屬性賦值"

6.__new__()方法:用于創(chuàng)建對象,但我們一般無需定義該方法。

以上就是Python中的__init__作用是什么的詳細內容,更多關于Python中的__init__到底是干什么的的資料請關注腳本之家其它相關文章!

相關文章

  • 如何使用python操作vmware

    如何使用python操作vmware

    這篇文章主要介紹了如何使用python操作vmware,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • 如何使用Python的Requests包實現模擬登陸

    如何使用Python的Requests包實現模擬登陸

    這篇文章主要為大家詳細介紹了使用Python的Requests包模擬登陸,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python 中的 dataclass使用場景與代碼示例詳解

    Python 中的 dataclass使用場景與代碼示例詳解

    在Python中,dataclass是一個裝飾器,用于簡化類的定義,自動生成初始化、比較等方法,適用于需要存儲數據的場景,通過示例展示了dataclass的基本用法,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • 利用python代碼管理Word文檔屬性信息

    利用python代碼管理Word文檔屬性信息

    在Word文檔管理中,文檔屬性包含與文檔有關的關鍵信息,如標題、作者、創(chuàng)建日期等,是進行文檔管理的重要工具,本文將展示如何利用Python代碼來靈活操控Word文檔的屬性信息,從而滿足個性化與批量化文檔處理的需求,需要的朋友可以參考下
    2024-05-05
  • Python解釋執(zhí)行原理分析

    Python解釋執(zhí)行原理分析

    這篇文章主要介紹了Python解釋執(zhí)行原理,有助于讀者深入理解Python運行機制,需要的朋友可以參考下
    2014-08-08
  • pytorch?dataset實戰(zhàn)案例之讀取數據集的代碼

    pytorch?dataset實戰(zhàn)案例之讀取數據集的代碼

    這篇文章主要介紹了pytorch?dataset實戰(zhàn)案例讀取數據集的相關知識,這段代碼可以作為讀取數據集的一個DataSet類的基礎類,可以擴充進行修改,以后有類似需要可以拿過來修改,本文結合實例代碼給大家詳細講解,需要的朋友可以參考下
    2022-10-10
  • 淺析Python 責任鏈設計模式

    淺析Python 責任鏈設計模式

    這篇文章主要介紹了Python 責任鏈設計模式的相關資料,幫助大家更好的理解和學習python 設計模式,感興趣的朋友可以了解下
    2020-09-09
  • pytorch 實現在測試的時候啟用dropout

    pytorch 實現在測試的時候啟用dropout

    這篇文章主要介紹了pytorch 實現在測試的時候啟用dropout的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python接口測試對修改密碼接口進行壓測

    python接口測試對修改密碼接口進行壓測

    這篇文章主要為大家介紹了python接口測試對修改密碼接口進行壓測的腳本實現,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Python列表和集合的效率大比拼

    Python列表和集合的效率大比拼

    程序的運行效率分為兩種:第一種是時間效率,第二種是空間效率,這篇文章主要介紹了Python列表和集合的效率對比,需要的朋友可以參考下
    2022-07-07

最新評論