如何在 Python 中将变量设置为“undefined”

将变量设置为 None 以将其设置为 undefined,例如 variable = None。 如果需要从范围中删除变量,则可以使用 del 语句,例如 del variable。

variable = None

if variable is not None:
    print('The variable is defined ✅')
else:
    # ?️ this runs
    print('The variable is not defined ✅')

try:
    print(notdefined_variable)
except NameError:
    # ?️ this runs
    print('The variable is not defined ✅')
else:
    print('The variable is defined ✅')

如何在 Python 中将变量设置为“undefined”

Python 中的 None 值类似于其他语言中的 undefined 和 null 值。

None 用于表示没有值。

我们可以使用 is 运算符来检查值是否为 None。

variable = None

if variable is None:
    # ?️ this runs
    print('The variable is not defined')

if variable is not None:
    print('The variable is defined')
else:
    # ?️ this runs
    print('The variable is not defined')

is 和 is not 运算符测试对象的身份:仅当 x 和 y 是同一对象时 x is y 才为真。

x is not y 返回逆真值。

如果需要检查变量是否已声明,可以使用 try/except 语句。

try:
    print(notdefined_variable)
except NameError:
    # ?️ this runs
    print('The variable is not declared')
else:
    print('The variable is declared')

尝试访问尚未声明的变量会引发 NameError 异常,并且运行 except 块。

如果没有出现错误并且 try 块中的代码完成,则运行 else 块。

我们还可以使用 del 语句删除变量。

variable = 'zadmei.com'

del variable

# ⛔️ NameError: name 'variable' is not defined.
print(variable)

del 语句删除了变量,因此尝试访问它会导致 NameError。

但是 ,将变量设置为 None 比删除它更直观。

如果将变量设置为 None,则可以很容易地在 if 语句中检查变量是否不是 None。

variable = 'zadmei.com'

if variable is not None:
    print('The variable is not None')
    # ?️ can safely use variable

    print(variable.upper())  # ?️ ZADMEI.COM

另一方面,如果删除变量,则必须使用 try/except 语句来处理潜在的 NameError 异常。