最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文帶你弄懂Python3中的def?__init__

 更新時(shí)間:2022年12月05日 11:55:06   作者:Jiabing?Yu  
說(shuō)起基礎(chǔ)的init函數(shù)也是我們的老朋友了,組合函數(shù)的要么是理解又一定的難度,要么是操作方法有復(fù)雜的地方,小編今天要講的def __init()__屬于第一種,下面這篇文章主要給大家介紹了關(guān)于如何通過(guò)一文帶你弄懂Python3中的def?__init__的相關(guān)資料,需要的朋友可以參考下

前言

在學(xué)習(xí)python-100-days時(shí),在面向?qū)ο缶幊袒A(chǔ)的那一塊,封裝一個(gè)class時(shí),突然出現(xiàn)def __init__的方法,剛開(kāi)始時(shí),對(duì)他的理解很模糊,為什么定義一個(gè)類(lèi)需要用到def __init__。

于是翻找了一些資料,大概就是兩種定義方式如下:

第一種定義方式如下:

class Student(object):

    # __init__是一個(gè)特殊方法用于在創(chuàng)建對(duì)象時(shí)進(jìn)行初始化操作
    # 通過(guò)這個(gè)方法我們可以為學(xué)生對(duì)象綁定name和age兩個(gè)屬性
    def __init__(self, name, age):
        self.name = name
        self.age = age

上面這一種,是在學(xué)習(xí)python-100-days時(shí),里面的一種定義方式。里面是包含兩個(gè)參數(shù) nameage。在實(shí)例的時(shí)候,必須要傳入這兩個(gè)參數(shù)的值進(jìn)去。

stu = Student() # 報(bào)錯(cuò)

如果上面直接實(shí)例它的話就會(huì)報(bào)錯(cuò):TypeError missing 2 required positional arguments: 'name' and 'age'

正常情況下,我們應(yīng)該傳入?yún)?shù):

stu = Student('大冰', 19) # 正常實(shí)例

然后我們可以利用__dict__方法查看對(duì)象的屬性。

print(stu.__dict__) # 打印出: {'name': '大冰', 'age': 19}

或者我們可以直接給__init__方法設(shè)置一個(gè)默認(rèn)參數(shù),然后直接實(shí)例就不會(huì)報(bào)錯(cuò)了。

def __init__(self, name = '周星星', age = 12):
	self.name = name
	self.age = age

stu = Student() # 不會(huì)報(bào)錯(cuò),正常實(shí)例

第二種定義方式如下:

class Student(object):
	def __init__(self):
        self.name = None
        self.age = None

以第一種的區(qū)別,這種定義方式時(shí),沒(méi)有形參的。但是它已經(jīng)指定nameage都是 None, 相當(dāng)于這兩個(gè)參數(shù)已經(jīng)賦值,不過(guò)是None

這種形式是可以直接實(shí)例對(duì)象,然后再給對(duì)象里的屬性賦值:

stu = Student() # 正常實(shí)例
"""查看stu對(duì)象的屬性是什么狀態(tài)"""
print(stu.__dict__) # 打印出:{'name': None, 'age': None}

然后再來(lái)重新給對(duì)象的屬性賦值:

stu.name = '陳冠希'
stu.age = 16

以上就是__init__方法定義的一些區(qū)別。

那么為什么在class中 要定義__init__方法呢?因?yàn)樗且粋€(gè)初始化方法,沒(méi)有初始化的話,實(shí)例后的對(duì)象,用__dict__方法查看對(duì)象里面的屬性將是空的。

總結(jié)

到此這篇關(guān)于通過(guò)一文帶你弄懂Python3中的def __init__的文章就介紹到這了,更多相關(guān)Python3的def __init__內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • python+matplotlib實(shí)現(xiàn)動(dòng)態(tài)繪制圖片實(shí)例代碼(交互式繪圖)

    python+matplotlib實(shí)現(xiàn)動(dòng)態(tài)繪制圖片實(shí)例代碼(交互式繪圖)

    這篇文章主要介紹了python+matplotlib實(shí)現(xiàn)動(dòng)態(tài)繪制圖片實(shí)例代碼(交互式繪圖),小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python函數(shù)式編程的用法詳解

    Python函數(shù)式編程的用法詳解

    Python函數(shù)式編程是一種編程范式,它強(qiáng)調(diào)使用純函數(shù)來(lái)處理數(shù)據(jù),在函數(shù)式編程中,函數(shù)被視為一等公民,可以像值一樣傳遞和存儲(chǔ),本教程將介紹如何使用Python進(jìn)行函數(shù)式編程,并提供一些示例,需要的朋友可以參考下
    2023-06-06
  • python 實(shí)現(xiàn)一次性在文件中寫(xiě)入多行的方法

    python 實(shí)現(xiàn)一次性在文件中寫(xiě)入多行的方法

    今天小編就為大家分享一篇python 實(shí)現(xiàn)一次性在文件中寫(xiě)入多行的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • WxPython實(shí)現(xiàn)無(wú)邊框界面

    WxPython實(shí)現(xiàn)無(wú)邊框界面

    這篇文章主要為大家詳細(xì)介紹了WxPython實(shí)現(xiàn)無(wú)邊框界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Python模塊的制作方法實(shí)例分析

    Python模塊的制作方法實(shí)例分析

    這篇文章主要介紹了Python模塊的制作方法,結(jié)合實(shí)例形式分析了Python第三方模塊的編寫(xiě)、調(diào)用相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • Python如何實(shí)現(xiàn)在字符串里嵌入雙引號(hào)或者單引號(hào)

    Python如何實(shí)現(xiàn)在字符串里嵌入雙引號(hào)或者單引號(hào)

    今天小編就為大家分享一篇Python如何實(shí)現(xiàn)在字符串里嵌入雙引號(hào)或者單引號(hào),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Python編程之序列操作實(shí)例詳解

    Python編程之序列操作實(shí)例詳解

    這篇文章主要介紹了Python編程之序列操作,結(jié)合實(shí)例形式分析了Python序列的功能、相關(guān)函數(shù)與具體使用技巧,需要的朋友可以參考下
    2017-07-07
  • AI人工智能 Python實(shí)現(xiàn)人機(jī)對(duì)話

    AI人工智能 Python實(shí)現(xiàn)人機(jī)對(duì)話

    這篇文章主要為大家詳細(xì)介紹了AI人工智能應(yīng)用,本文擬使用Python開(kāi)發(fā)語(yǔ)言實(shí)現(xiàn)類(lèi)似于WIndows平臺(tái)的“小娜”,,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • python讀取tif圖片時(shí)保留其16bit的編碼格式實(shí)例

    python讀取tif圖片時(shí)保留其16bit的編碼格式實(shí)例

    今天小編就為大家分享一篇python讀取tif圖片時(shí)保留其16bit的編碼格式實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python+Pygame編寫(xiě)一個(gè)Pong游戲

    Python+Pygame編寫(xiě)一個(gè)Pong游戲

    Pong游戲模擬了兩個(gè)打乒乓球的人,就是在兩條線中間有一個(gè)點(diǎn)在動(dòng),操縱器就是一個(gè)搖桿上有一個(gè)按鈕的那種。本文就來(lái)用Python中的Pygame庫(kù)編寫(xiě)一個(gè)Pong小游戲
    2023-01-01

最新評(píng)論

盐池县| 长丰县| 翼城县| 全州县| 夏河县| 安阳县| 称多县| 迁西县| 阳西县| 沾益县| 囊谦县| 美姑县| 三亚市| 遵义市| 靖安县| 南城县| 秦皇岛市| 青州市| 安义县| 阳谷县| 信阳市| 武隆县| 阳东县| 中西区| 马尔康县| 龙川县| 集贤县| 读书| 常州市| 黔江区| 湛江市| 洛阳市| 巴彦淖尔市| 田林县| 雅安市| 两当县| 烟台市| 商南县| 墨竹工卡县| 望江县| 南乐县|