中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中?__init__的意義及作用是什么

發布時間:2023-02-27 14:57:57 來源:億速云 閱讀:100 作者:iii 欄目:開發技術

這篇文章主要介紹“python中 __init__的意義及作用是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“python中 __init__的意義及作用是什么”文章能幫助大家解決問題。

python 中 __init__的用法和含義

python 中 __init__  與PHP中的構造函數相似__construct() 

都具有初始化的作用。

1.python中的__init__是一個私有函數(方法),訪問私有函數中的變量在python中用self,在PHP中用$this

2.在python類的定義中,一個函數(php叫方法)的參數中必須帶有self參數,且self放在第一位

如下例子

class person():

def __init__(self,name,gender,birth,**kw)://可使用 **kw定義關鍵參數,代表任意參數 ,python中函數的代碼塊用:php用;

  self.name=name  

  self.gender=gender

  self.birth=birth

  for k,w in kw.iteritems():

    setattr(self,k,w)    //python中是按照縮進來判斷代碼塊的從屬

def sayhi(self):

   print 'my name is',self.name

xiaoming = person('Xiao Ming', 'Male', '1991-1-1',job='student',tel='18089355',stdid='15010')  //php中實例類用new,

xiaohong = person('Xiao Hong', 'Female', '1992-2-2') 

print xiaoming.name

print xiaohong.birth

print xiaoming.job

print xiaoming.tel

print xiaoming.stdid

print xiaoming.sayhi()

運行結果如下

Xiao Ming

1992-2-2

student

18089355

15010

my name is Xiao Ming

補充:Python類中__init__()的作用

最開始學習python,認為定義類時__init__方法的作用等同于C中的構造函數,但是使用之后發現也有區別。

# coding:utf-8
class a():
     def __init__(self,name):
         self.name = name
     def get_name(self):
         return self.name
b = a("wang")
print(b.get_name())
 
 
Output:
-----
wang
-----

例如:

執行時的步驟可以理解為;

b = object.__new__(a)
a.__init__(a,"wang")

即__init__的作用是初始化實例后的對象b

在子類不重寫__init__方法時,子類會默認調用父類中的__init__方法

子類也可以重寫__init__方法,來給子類定義專屬屬性

當然,上面寫的是比較官方的解釋

用簡單的話來講,可以理解為,類的屬性如果直接寫在類里面一般是要有值的。

例如:

class fun()
   a = 3

這樣的情況下,類中的屬性無法變成變量,當將類的屬性以self.a的方式定義到初始化方法中,那屬性也可以當成變量

例如:

class fun():
    def __init__(self, a):
 
        self.a = a
f = fun(3)
 
print(f.a)
 
Output:
--
3
--

關于“python中 __init__的意義及作用是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仪征市| 荆门市| 确山县| 两当县| 涞源县| 大方县| 石门县| 黔南| 马关县| 汝城县| 鄂托克旗| 淳安县| 山西省| 榆林市| 都昌县| 大姚县| 阳山县| 资兴市| 崇左市| 师宗县| 博客| 深泽县| 英山县| 景东| 乐亭县| 南靖县| 肥乡县| 突泉县| 固阳县| 英超| 东乌珠穆沁旗| 峡江县| 长宁区| 阿克苏市| 庆云县| 汝阳县| 大同县| 临洮县| 九龙县| 普洱| 突泉县|