Python:如果不存在则赋值

标签 python python-2.7 variable-assignment language-comparisons

我是一名刚接触 Python 的 RoR 程序员。我试图找到允许我将变量设置为特定值的语法,前提是它之前没有分配。基本上我想要:

# only if var1 has not been previously assigned

var1 = 4

最佳答案

您应该将变量初始化为 None 然后检查它:

var1 = None
if var1 is None:
    var1 = 4

一行可以写成:

var1 = 4 if var1 is None else var1

或使用快捷方式(但建议检查无)

var1 = var1 or 4

或者,如果您没有为变量分配任何内容,则该变量名称不存在,因此稍后使用该变量会引发 NameError,您也可以使用该知识来执行类似的操作

try:
    var1
except NameError:
    var1 = 4

但我建议不要这样做。

关于Python:如果不存在则赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7338501/

相关文章:

python - pip 安装错误。找不到 Setuptools.command

c++ - 复制赋值运算符错误

Python GraphQL 如何声明自引用 Graphite 烯对象类型

python - h5py:压缩管道中的复合数据类型和比例偏移

python - 如何在自定义训练循环中使用 tf.keras.layers.BatchNormalization() ?

python - 在 python 中导入集合

python - numpy.logic_and 代码示例中的解释

python - 查找前 10 个并将其从厘米转换为英寸 - Python

c - C 编译器如何确定有效的左值?

actionscript-3 - Actionscript - 没有引用的变量赋值?