使用()和不使用括號創建對象實例的區別?使用圓括號創建對象python
假設這是我的簡單的類:
class ilist(list):
t1 = "Test1"
t2 = "Test2"
與製作實例來此兩個變量:
list1 = ilist()
list2 = ilist
當打印兩個實例
>>> list1
[]
>>> list2
<class '__main__.ilist'>
我可以成功訪問他們的屬性
>>> list1.test1
'Test1'
>>> list2.test1
'Test1'
,它體現在使用的方法列表2錯誤追加
>>> list1.append("Item1")
>>> list2.append("Item1")
Traceback (most recent call last):
File "<pyshell#64>", line 1, in <module>
list2.append("Item1")
TypeError: descriptor 'append' requires a 'list' object but received a 'str'
是什麼,不僅在這個簡單的例子有什麼區別?
只有其中一個創建實例, – jamylak