我想要以下行为:
class RealEstate:
rooms
突然出现了一个未解决的引用错误:NameError: name 'rooms' is not defined.
我知道我可以将None赋值给变量:
class RealEstate:
rooms = None
或者定义类型:
class RealEstate:
rooms: float
都可以。但这不是我想要的。我希望它越简单越好,打字越少越好。有没有办法使第一个例子有效?也许是一些神奇的元类,一些出色的装饰器,扩展了一些特殊的类或库来提供帮助?
不,你不能"define"通过只写变量名来获取变量。它将被计算为一个表达式,如果它不存在,它将引发一个NameError
。
-
"define"通过使用赋值
来指定一个变量。name = value
(它在运行时将一个名称绑定到一个值,您需要指定该值)或 -
"define"通过使用类型注释
name: type
来创建一个变量(它将名称与类型关联起来,您需要为其指定类型,但不会在运行时自动创建名称或任何值)。