为什么在Python中,未赋值字符串不会导致编译错误?

为什么在Python中,未赋值字符串不会导致编译错误?,python,Python,在我使用python的工作中,我有时会发现我删除了一个变量,只是在代码中保留了内联字符串。我注意到您可以这样做,并且在发生这种情况时根本没有来自编译器的通知或任何运行时错误。有人能告诉我为什么这不会出错吗 c = 1 "this causes no error or notification to the developer" b = 2 这看起来就像一个docstring,但没有三重引号,只有一组。我找不到关于这个主题的任何文档。因为Pyhthon定义并允许它,也称为 我引述: Expres

在我使用python的工作中,我有时会发现我删除了一个变量,只是在代码中保留了内联字符串。我注意到您可以这样做,并且在发生这种情况时根本没有来自编译器的通知或任何运行时错误。有人能告诉我为什么这不会出错吗

c = 1
"this causes no error or notification to the developer"
b = 2

这看起来就像一个docstring,但没有三重引号,只有一组。我找不到关于这个主题的任何文档。

因为Pyhthon定义并允许它,也称为

我引述:

Expression语句用于(主要以交互方式)计算和 写一个值,或者(通常)调用一个过程(一个 不返回有意义的结果;在Python中,过程返回值 没有)。允许使用表达式语句的其他用法,并且 偶尔有用


因为Pyhthon定义并允许,也称为

我引述:

Expression语句用于(主要以交互方式)计算和 写一个值,或者(通常)调用一个过程(一个 不返回有意义的结果;在Python中,过程返回值 没有)。允许使用表达式语句的其他用法,并且 偶尔有用


正如在许多语言中一样,具有未指定给变量的表达式是完全有效的

3.14
"Boo!"
False
2 + 2
callable(func) and func()
Python将在以交互方式执行这些表达式时打印它们的结果,但在脚本中,这些值只是被丢弃


这样的表达式实际上可能有副作用(例如最后一个表达式,如果它是可调用的,则调用
func
,而
func
可以做任何事情),因此编写这样的代码并不一定毫无意义。事实上,对函数的调用不会返回任何您需要保留的内容,这正是您反对的类型,而且显然是有用的。

与许多语言一样,拥有一个未分配给变量的表达式是完全有效的

3.14
"Boo!"
False
2 + 2
callable(func) and func()
Python将在以交互方式执行这些表达式时打印它们的结果,但在脚本中,这些值只是被丢弃

这样的表达式实际上可能有副作用(例如最后一个表达式,如果它是可调用的,则调用
func
,而
func
可以做任何事情),因此编写这样的代码并不一定毫无意义。事实上,对函数的调用不会返回任何您需要保留的内容,这正是您所反对的,而且显然是有用的