所以,我基本上是想寫一段代碼,我想在宣告程序中宣告一些引數,比如:
class emp:
def __init__(self,a,b):
self.first_name=a
self.last_name=b
Rohan=emp("Rohan","foo", age=12, nationality="Indian")
print(Rohan.age)
下面的代碼產生了輸出:
TypeError: __ init __() 得到了一個意外的關鍵字引數 'age'。
我想要的是:12
如果可能的話,我可以把默認值放在下面代碼產生的地方嗎
Jhonny=emp(age=,nationality='')
jhony.age=5
jhony.nationality="印度人"。
uj5u.com熱心網友回復:
如果你確定要這樣做,你可以這樣做:
class emp。
def __init__(self, a, b, **kwargs)。
self.first_name = a
self.last_name = b
for key, val in kwargs.items() 。
setattr(self, key, val)
這就是說,這樣做不是很好的做法。我同意將它們作為可選的引數放在你的__init__函式中會更好。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/310476.html
標籤:
