python - 是否有任何计算机语言知道检查不存在的变量和检查是否存在之间的区别?

标签 python functional-programming computer-science

<分区>

我觉得在 python 中很奇怪的是不能做:

In [3]: if x:
   ...:     print y
   ...:     

----> 1 if x:
      2     print y
      3 

NameError: name 'x' is not defined

这导致将事物声明为 None 或诸如此类的东西,或者使用 try/except,这在这两种情况下都是更多的代码。我的 friend 曾经说过“你不希望能够检查不存在的东西”,我不同意,因为你可以检查该项目是否存在,而不是现有项目是否有任何东西。一个从未存在过的虚构人物和一个现在不在人世的死人是有区别的。

是否有任何语言允许这样做,它是否强大或会导致问题?

最佳答案

当你是新手时,这是其中一个似乎是个好主意但几乎总是无用的东西,比如在你应该创建编号为 item1itemN 的变量时使用列表。你可以做到:

try:
    x
except NameError:
    defined = False
else:
    defined = True

但通常有更好的方法来实现您的基本目标。

关于python - 是否有任何计算机语言知道检查不存在的变量和检查是否存在之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34795292/

相关文章:

python - 我可以使用 Python 从空 Access 表中提取架构信息吗?

ios - textField delegate 和 ReactiveCocoa 中使用 textSignal 有什么区别?

javascript - 如何用尾递归重写这个函数

c++ - openCV cvSaveImage() 增加图像的大小

python - django formset 中的异构形式

python - 带有字符数组的 Numpy ufunc.at

database - 健忘症患者的 "first"功能语言? (我真的很喜欢 Clojure...)

foreach - foreach和map有区别吗?

python 枕头 : Make image progressive before sending to 3rd party server

c# - 如何使用 LINQ 使 C# 'grep' 更具功能性?