我有以下類,它有兩個類變量「值」和「漸變」。我將兩個值分配給類變量,然後將其打印出來。但是,我將20賦給一個不存在的類變量(「限制」)。但編譯器很高興,似乎存儲變量。這怎麼可能? 我的假設是,如果變量名稱不正確,我應該看到一條錯誤消息。我不應該嗎?爲類變量賦值python
class wire:
def __init__(self,value,gradient):
self.value = value
self.gradient = gradient
XX = wire(10,0.05)
print XX.value , XX.gradient
XX.limit = 20
print XX.value , XX.gradient, XX.limit
感謝您的幫助
您正在分配*實例*屬性,而不是類屬性。不,Python不會限制這一點,這是完全正常的行爲。 –
這是非法的任何其他面嚮對象語言或我夢想? – spgt
不要將打字模型與編程範例混淆。 C++和Java可能會使其非法,但其他語言不會。 Python是一種[動態語言](https://en.wikipedia.org/wiki/Dynamic_programming_language),您在這裏想到靜態語言。 –