sunyt 发表于 2021-10-11 19:25:16

python关于类的一点小问题

类在实例化时有括号和没有括号有什么区别?

傻眼貓咪 发表于 2021-10-11 19:59:51

a = C() 表示 a 被赋值 C 类
a = C 表示 a 指向 C 内存地址

sunyt 发表于 2021-10-12 10:15:26

傻眼貓咪 发表于 2021-10-11 19:59
a = C() 表示 a 被赋值 C 类
a = C 表示 a 指向 C 内存地址

那按我的理解是不是有括号是将类复制了一份,而没有括号是直接指向类本身

傻眼貓咪 发表于 2021-10-12 10:59:22

sunyt 发表于 2021-10-12 10:15
那按我的理解是不是有括号是将类复制了一份,而没有括号是直接指向类本身

可以这么理解吧,有括号表示执行(比如:类,就赋值类;或函数,就赋值函数),没有括号表示指向对象(比如:类,就指向类;或函数就指向函数)

举例:class MyClass:
    def __init__(self):
      self.x = 123

# 以下两者都可以执行
A = MyClass()
B = MyClass

print(A.x)
print(B().x)123
123
页: [1]
查看完整版本: python关于类的一点小问题