可能是一个愚蠢的问题,但我更习惯Java和喜欢的东西,因此我不知道为什么我可以这样做:
class A:
def __init__( self ):
pass
a = A()
a.description = "whyyy"
print a.description
并打印whyyy
而不是给我一个错误。
答案 0 :(得分:2)
因为Python对象是动态的 - 所以它们不需要遵循严格的模式。
创建类的实例会为您提供已定义某些内容的对象,但您可以动态地向该实例添加其他内容;你并不局限于原来的班级定义。
答案 1 :(得分:0)
变量通过赋值和它们而存在 当它们超出范围时会自动销毁。
对于对象,您可以在运行时动态添加新字段。请注意,这不会更改类描述。只有当前实例。
class A:
def __init__( self ):
pass
a = A()
a.description = "whyyy"
print a.description
b = A()
print b.description # Should return an error