第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在類中將參數(shù)傳遞給 __init__

如何在類中將參數(shù)傳遞給 __init__

慕工程0101907 2022-12-20 09:57:37
你好,我想__init__在 Python 的課堂上理解。我理解類是如何工作的,但我無法理解這里的一件事是代碼:class Computer:    def __init__(self, name, cpu, ram, hdd, ssd):        self.name = name        self.cpu = cpu        self.ram = ram        self.hdd = hdd        self.ssd = ssd    def config(self):        print("Configuration of computer is: ", self.name, self.cpu, self.ram, self.hdd, self.ssd )computer1 = Computer("HP ", "i7 ", "16gb ", "1TB ", "256GB")computer1.config()為什么以及如何自動Computer("HP ", "i7 ", "16gb ", "1TB ", "256GB")傳遞參數(shù)__init__(self, name, cpu, ram, hdd, ssd)?為什么我們將這個參數(shù)寫在類括號中而不是像這樣分開: computer1.__init__("HP ", "i7 ", "16gb ", "1TB ", "256GB")代碼如何理解必須將寫在 Computer 括號中的參數(shù)傳遞給__init__?
查看完整描述

2 回答

?
PIPIONE

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個贊

因?yàn)?code>__init__方法在Python中大致就是代表一個構(gòu)造函數(shù)。當(dāng)您調(diào)用Computer("HP ","i7 ","16gb ","1TB ","256GB")Python 時,它會為您創(chuàng)建一個對象,并將其作為第一個參數(shù)傳遞給該__init__方法。任何其他參數(shù)(超過您聲明的五個)也將作為參數(shù)傳遞——在這種情況下會引發(fā)異常,因?yàn)闃?gòu)造函數(shù)不期望它們。



查看完整回答
反對 回復(fù) 2022-12-20
?
www說

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個贊

這就是 python 的工作原理??赡芩沁@樣設(shè)計的,因?yàn)橐恍╊?結(jié)構(gòu)是用純 C 編寫的。

例如。當(dāng)你想實(shí)現(xiàn)自定義類并為其實(shí)現(xiàn)len()功能時,你可以通過調(diào)用len(instance_of_your_class). 然后你所要做的就是__len__()在你的類中實(shí)現(xiàn)方法。
另一方面,你有listpython 類。這個類是用 C 實(shí)現(xiàn)的,因?yàn)樗仨毞浅??。然后?dāng)你調(diào)用len(instance_of_list)interpreted 時會調(diào)用__len__,這將調(diào)用 C 中的 equavilent 函數(shù)。

這種設(shè)計帶來了很多好處。一個例子是方法__getitem__。您實(shí)施這樣您就可以使用instalce_of_class[2]. 但它也使您能夠使用inif value in instance_of_class)。

您可以閱讀有關(guān)此類方法的信息。在 python 術(shù)語中,它們是dunder方法。


查看完整回答
反對 回復(fù) 2022-12-20
  • 2 回答
  • 0 關(guān)注
  • 212 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號