亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Python 構造函數重載

Python 構造函數重載

不負相思意 2022-12-20 09:42:21
我在 C++ 中遇到了類構造函數的概念。但是我還沒有找到一種使用 2 種或更多不同方法在 Python 中初始化類的方法。誰能告訴我該怎么做?
查看完整描述

2 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

python中不需要多個構造函數,如果有多個這樣的case可以用下面的方式初始化


class A:

    def __init__(self, arg_1, arg_2=None):

        self.arg_1 = arg_1

        self.arg_2 = arg_2

所以當你需要初始化一個類A的對象時,你可以使用


a1 = A(2)

a2 = A(2, 4)

雖然嚴格來說__init__不是構造函數而是初始化器


查看完整回答
反對 回復 2022-12-20
?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

@Ratan Rithwik 解決方案是正確的,但只有 2 個案例


如果您想擁有盡可能多的案例,您可以使用 **kwarg

one example with @thebjorn answer


編輯:混合“標準”參數(具有默認值)和 kwargs


class Player:

    def __init__(self, name='John', **kwargs):

        self.name = name

        self.last_name = kwargs.get('last_name')



p = Player(last_name='Doe')

print (p.name) # John

print (p.last_name) #Doe


p1 = Player('foo')

print (p1.name) # foo

print (p1.last_name) #None


查看完整回答
反對 回復 2022-12-20
  • 2 回答
  • 0 關注
  • 139 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號