假设我的脚本中有两个函数: sum_numbers
和 print_sum
。他们的实现是这样的:
def sum_numbers(a, b):
return a + b
def print_sum(a, b):
print(sum_numbers(a, b))
所以我的问题是:函数的编写顺序重要吗?如果我先写了 print_sum
函数,然后写了 sum_numbers
,代码还能工作吗?如果答案是肯定的,它总是有效吗?
原文由 flpn 发布,翻译遵循 CC BY-SA 4.0 许可协议
Python 唯一关心的是名称是在实际查找时定义的。就这样。
在您的情况下,这很好,顺序并不重要,因为您只是 定义 了两个函数。也就是说,您只是引入两个新名称,而不是查找。
_现在_,如果您 调用 其中一个(实际上执行了查找)并调换了顺序:
你会遇到麻烦(
NameError
),因为它会尝试找到一个名称(sum_numbers
),但它还不存在。所以总的来说,是的,顺序 确实 很重要; Python 中没有像其他语言(例如 JavaScript)中那样的名称提升。