是否可以在Python中声明变量,如下所示:
var
所以它被初始化为None?看起来Python允许这样做,但是一旦你访问它,它就崩溃了。这个是可能的吗?若否,原因为何?
编辑:对于这样的情况,我想这样做:
value
for index in sequence:
if value == None and conditionMet:
value = index
break
复制
相关
发布于 2009-03-19 22:23:05
为什么不这样做呢:
var = None
Python是动态的,所以您不需要声明事物;它们自动存在于分配它们的第一个作用域中。因此,您所需要的只是一个如上所述的常规旧赋值语句。
这很好,因为您永远不会得到一个未初始化的变量。但要小心--这并不意味着您不会得到不正确初始化的变量。如果你初始化了一些东西给None
,确保那是你真正想要的,如果可以的话分配一些更有意义的东西。
发布于 2009-03-19 22:47:40
我强烈建议您阅读Other languages have "variables" (我将其添加为相关链接)--两分钟后您就会知道Python有“名称”,而不是“变量”。
val = None
# ...
if val is None:
val = any_object
发布于 2017-11-09 05:14:32
在Python 3.6+中,您可以对以下内容使用变量注释:
https://www.python.org/dev/peps/pep-0526/#abstract
PEP 484引入了类型提示,也就是。键入注解。虽然它的主要焦点是函数注释,但它还引入了类型注释的概念来注释变量:
# 'captain' is a string (Note: initial value is a problem)
captain = ... # type: str
PEP 526旨在将语法添加到Python中,用于注释变量类型(包括类变量和实例变量),而不是通过注释来表达它们:
captain: str # Note: no initial value!
这似乎更直接地符合您所问的“在Python中是否可以只声明一个变量而不赋值?”
https://stackoverflow.com/questions/664294
复制相似问题