【发布时间】:2022-12-21 22:40:06
【问题描述】:
为什么不能在类中初始化变量后立即使用它?
1. class A:
2. var1 = <call_to_a_function_outside_class_A>
3. Var2 = <something_to_with_var1>
....
我得到
NameError: name 'var1' is not defined (at line number 3)
我错过了什么?
【问题讨论】:
-
你能展示你正在使用的实际代码吗?
-
@Axe319 我希望,我可以。但是,这有点机密。我真的很抱歉。我希望你明白。代码类似于伪代码。
-
@Rabindra 你需要有一个minimal reproducible example。您不必拥有确切的代码,只需拥有演示问题的实际代码即可。
-
你应该总是提供一个。它会帮助人们更容易理解问题,无论是对于试图回答的人还是有相同问题的人。下面的答案是,你的问题是错误的,因为
var1是不是call_to_a_function_outside_class_A。另外,var2,即something_to_with_var1,将不是造成任何问题除非在非常特殊的情况下,var2是一个绑定var1但错误引用它的闭包。如果它是一个表达式、函数/lambda,带有参数或正确绑定,它就会工作。 -
所以不,你不能创建任何类或任何类变量。实际上还有更多的情况不会重现该错误。
标签: python python-3.x class