以C++舉例,下面的code:
class Object {
private:
int id;
};
到了 python,應該都會很自然的寫成:
# 例A
class Object:
id=0
看起來沒錯,對吧~
不過,事實上,應該要寫成這樣才對:
# 例 B
class Object:
def __init__(self):
self.id=0
換句話說,例A翻譯成C++的話,其實是類似 static 的用法,也就是說,id 會變成一個共用的 static 變數:
class Object {
private:
static int id;
};
沒有留言:
張貼留言