通过 () 和不带括号创建对象实例的区别?
假设这是我的简单课程:
class ilist(list):
t1 = "Test1"
t2 = "Test2"
并对这两个变量进行实例化:
list1 = ilist()
list2 = ilist
打印两个实例时
>>> list1
[]
>>> list2
<class '__main__.ilist'>
我可以成功访问他们的属性
>>> list1.test1
'Test1'
>>> list2.test1
'Test1'
它使用方法 append 在 list2 中显示错误
>>> 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'
不仅在这个简单的例子中有什么区别?