【发布时间】:2018-05-10 15:52:57
【问题描述】:
我在使用函数时发现了一些非常奇怪的东西。看起来变量名“str”已经定义为全局变量。看看:
def Example(x):
str = input()
return str
print (Example(str))
#When typing 'Hello!' Output --> Hello!
变量str在函数Example中定义。那么为什么没有 NameError: name 'str' is not defined?
当我调用变量 x 或其他东西时(在本例中为“bar”):
def Example(x):
bar = input()
return bar
print (Example(bar))
#Output: NameError: name 'bar'is not defined
为什么名称为“str”的变量充当全局变量?
【问题讨论】:
-
因为
str是Python中的一个类型 -
查看docs.python.org/3/library/functions.html 了解有关
str的详细信息。至于问题本身,我推荐一个Python初学者教程。
标签: python string variables global