首先說這個特性有些坑爹,在周五耗掉了我大半天來弄懂了這個問題(之前關鍵是不知道怎麼描述這個問題!)另外我寫python喜歡寫分號;見笑了…先說結論結論就是,私有變數的寫法:
class
obj(object):
"""docstring for obj"""
def__init__
(self, arg):
super(obj, self).__init__()
self.arg = arg;
self.arr = ;
公有變數的寫法:
class
obj(object):
"""docstring for obj"""
arg = 0;
arr = ;
def__init__
(self, arg):
super(obj, self).__init__()
公有變數的情況:
class
obj(object):
"""docstring for obj"""
arg = 0;
arr = ;
def__init__
(self, arg):
super(obj, self).__init__()
#self.arg = arg
#self.arr = ;
defexp
(): obj1 = obj(1);obj2 = obj(2);
print
'arr of obj1: ' + str(obj1.arr);
print
'arr of obj2: ' + str(obj2.arr);
if __name__ == '__main__':
exp();
執行得到:(這。。。多個例項化的時候很無語)
arr
ofobj1: [1]
arrof
obj2: [1]
[finished in 0.1s]
私有變數的寫法:
class
obj(object):
"""docstring for obj"""
#arg = 0;
#arr = ;
def__init__
(self, arg):
super(obj, self).__init__()
self.arg = arg
self.arr = ;
defexp
(): obj1 = obj(1);obj2 = obj(2);
print
'arr of obj1: ' + str(obj1.arr);
print
'arr of obj2: ' + str(obj2.arr);
if __name__ == '__main__':
exp();
結果是:
arr
ofobj1: [1]
arrof
obj2:
[finished in 0.0s]
類的例項化
類 物件 例項 個人的理解,不確定對錯,歡迎大佬指教 建立乙個物件也就是例項化,抽象類不能例項化,創出的物件不能叫例項。普通的類創出來的物件也可以叫例項。cat c new cat 1.new cat,意思是在堆記憶體中建立乙個cat類的物件 2.的建立物件的同時,呼叫cat類中的構造方法,對剛生成...
python反射例項化 Python的類反射機制
反射就是通過字串的形式,匯入模組 通過字串的形式,去模組尋找指定函式並執行。python有四個內建函式 函式功能 getattr object,attr default 獲取指定字串名稱的物件屬性或方法,如果物件有該屬性則返回屬性值,如果有該方法則返回該方法的記憶體位址,如果都沒有就報錯,如果指定了...
python類和例項化
簡答介紹類和例項 python是物件導向的語言,最主要的就是類和例項,類是抽象的模版 建立乙個類 class studen object class 後接類名,定義的類名大些字母開頭,object為類的繼承,沒有合適的繼承類用object類,這是所有類最終會繼承的類 類的例項化 bart stude...