擅长:python、mysql、java
<p>函数的创建顺序无关紧要。只有当函数调用完成时才重要:</p>
<pre><code>def print_sum(a, b):
print(sum_numbers(a, b))
def sum_numbers(a, b):
return a + b
print_sum(1, 3)
# 4
</code></pre>
<p>这是因为在调用<code>print_sum</code>时,两个函数都存在。但是,如果在定义<code>sum_numbers</code>之前调用该函数,它将失败,因为<code>sum_numbers</code>尚未定义:</p>
<pre><code>def print_sum(a, b):
print(sum_numbers(a, b))
print_sum(1, 3)
def sum_numbers(a, b):
return a + b
</code></pre>
<p>投掷:</p>
<pre><code>---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-34-37c0e3733861> in <module>()
2 print(sum_numbers(a, b))
3
----> 4 print_sum(1, 3)
5
6 def sum_numbers(a, b):
<ipython-input-34-37c0e3733861> in print_sum(a, b)
1 def print_sum(a, b):
----> 2 print(sum_numbers(a, b))
3
4 print_sum(1, 3)
5
NameError: name 'sum_numbers' is not defined
</code></pre>