-1
我的問題的第一部分是我如何訪問類的預設默認參數以將它們的值用作其他參數?我想要做的是這樣的:在初始時Python訪問默認參數
class C:
def __init__(self, size_hint = (0, 0), **kwargs):
self.size_hint = size_hint
,然後製作一個實例:
>>> c=C(x = self.size_hint)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'self' is not defined
但在初始化時self
和C
也不得而知。
第二個問題是在上面的類定義中,我如何設置kwargs
字典中的鍵值作爲實例屬性? 我知道這並不工作,但我的意思是這樣的:
for k, v in kwargs.items():
self.k = v
我仍然不完全確定你在第一種情況下要做什麼。 –
@學生,你能澄清你的第二個問題嗎?爲什麼你的代碼不工作? – skovorodkin
@skovorodkin如果我把'for'循環放在'__init__'中並且像'c = C(x =「C()。X」)那樣實例化類''''x的值將被存儲在'k'中屬性,而不是在'x'中。調用'c.x'會引發'AttributeError:'C'對象沒有屬性'x'',調用'c.k'給出'C()。X「。 – amirteymuri