是否可以像这样在Python中声明一个变量?:

var

使它初始化为None?Python似乎允许这样做,但一旦你访问它,它就崩溃了。这可能吗?如果不是,为什么?

编辑:我想这样做的情况下:

value

for index in sequence:

   if value == None and conditionMet:
       value = index
       break

相关问题

为什么函数可以修改调用者感知到的一些参数,而不能修改其他参数? Python变量声明

另请参阅

Python名称和值 其他语言有“变量”


当前回答

var_str = str()
var_int = int()

其他回答

我通常将变量初始化为表示类型的东西,例如

var = ""

or

var = 0

如果它将是一个对象,那么在实例化它之前不要初始化它:

var = Var()

我衷心建议你阅读其他语言有“变量”(我添加了一个相关链接)-在两分钟内你会知道Python有“名称”,而不是“变量”。

val = None
# ...
if val is None:
   val = any_object

如果我对你的例子理解正确,你不需要在If语句中引用“value”。一旦它可以被设置为任何值,就会跳出循环。

value = None
for index in sequence:
   doSomethingHere
   if conditionMet:
       value = index
       break 

如果None: var = None,你可以用这个丑陋的在线程序欺骗解释器 它只向局部变量字典中添加一个变量var,而不是初始化它。解释器将抛出UnboundLocalError异常,如果你试图在一个函数之后使用这个变量。这也适用于非常古老的python版本。不简单,也不漂亮,但不要对python有太多期望。

var_str = str()
var_int = int()