我對Oops有點新鮮感,並且對Python類感到困惑。雖然我在高中時學過C++,但我知道自己研究的是C++(根本就不是C++) C與類,沒有模板,STL或命名空間)Python類和對象
如果我錯了,請糾正我,但對於我來說,類只是對象的藍圖,對不對?
現在,如果我想創建一個在C類的一個實例++(對於例如,我的類名是「動物」)
我這樣做: animal lion;
或者,如果我有一個構造函數(帶參數),那麼只有我會做這個animal tiger(4,5);
我現在面臨的問題是:
class animal:
val = 5
它只是一個基本類,沒有任何constuctor或方法:
現在與Python我能夠引用的動物,因爲它是不創造任何情況下(我coudn't做,在C++中,對不對?)
animal.val = 7
我面臨的另一個問題是,我需要在創建實例時總是使用括號,否則會引用類本身。
例如;
lion = animal
lion.val = 6
tiger = animal
print tiger.val
和它打印6,當我想創建一個實例我已經使用paranthesis,即使我沒有指定任何構造函數(這是不是在C++必要),如有特殊原因或只是語言語法的問題?
所以使用括號其實只是一種語言的語法和沒有提到任何具體的東西? –
但是如果我沒有構造函數,爲什麼仍然需要括號? –
@KartikAnand:你確實有一個構造函數,你只是沒有自己寫。 – geoffspear