我正在嘗試使用**kwargs在類的實體中創建字典。我想將兩個必需的變數(title和author)以及一些可選的鍵/值對交給我的 Book 類,并讓它創建一個包含這些鍵和值的內部字典。這是我的代碼:
class Book:
def __init__(self, title, author, **kwargs):
self.info = {
'title': title,
'author': author,
}
例如,我想給 Book 一個引數year='1961',并讓它設定一個鍵/值對 ( 'year': '1961')。到目前為止,我一直在if/else為此使用陳述句,但這似乎效率低下且丑陋。我可以**kwargs用來做嗎?
uj5u.com熱心網友回復:
kwargs可以被視為字典,您可以根據您的 python 版本以幾種不同的方式合并兩組資料。
3.9 :
class Book:
def __init__(self, title, author, **kwargs):
self.info = {
'title': title,
'author': author,
} | kwargs
3.5 :
class Book:
def __init__(self, title, author, **kwargs):
self.info = {
'title': title,
'author': author,
**kwargs}
<3.4:
class Book:
def __init__(self, title, author, **kwargs):
self.info = {
'title': title,
'author': author,
}
self.info.update(kwargs)
uj5u.com熱心網友回復:
是的,您可以使用 kwargs,我想您正在尋找以下代碼:
class Book:
def __init__(self, title, author, **kwargs):
self.info = {
'title': title,
'author': author,
}
for key, value in kwargs.items():
self.info[key] = value
uj5u.com熱心網友回復:
沒關系,我只是想通了。
class Book:
def __init__(self, title, author, **kwargs):
self.info = {
'title': title,
'author': author,
}
for key, value in kwargs.items():
self.info[key] = value
回想起來,這應該是顯而易見的 ??
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/350555.html
