我现在正在学习python,在学习了Java之后,现在我知道Java首先编译整个文件然后运行它,在python中,从我所理解的它运行程序的同时,它“逐行”编译它。 我不明白的是,在定义一个函数之前,我怎么能调用它。 我是从Java编写我所有的“帮助方法”后,需要他们的方法,我认为这是更容易阅读的方式。 所以我试着用python做同样的事情,它成功了。 为什么? 问题来源StackOverflow 地址:/questions/59382335/if-python-run-the-file-line-after-line-how-can-it-use-a-function-before-its-b
这里的一个重要说明是,重要的不是函数创建的顺序,而是函数调用完成的时间。 以下列代码为例:
def add_one(new):
return my_add(new, 1)
def my_add(x, y):
return x + y
my_var = 2
print("The value of my_var is: {}".format(my_var))
my_var = add_one(my_var)
print("The value of my_var is: {}".format(my_var))
它的收益率 这是因为在调用add_one函数时,两个函数都已经存在了。但是如果在定义my_add之前尝试调用add_one…
def add_one(new):
return my_add(new, 1)
my_var = 2
print("The value of my_var is: {}".format(my_var))
my_var = add_one(my_var)
print("The value of my_var is: {}".format(my_var))
def my_add(x, y):
return x + y
我们得到:
The value of my_var is: 2
Traceback (most recent call last):
File "c:\Users\wundermahn\Desktop\Stack.py", line 6, in <module>
my_var = add_one(my_var)
File "c:\Users\J39304\Desktop\Stack.py", line 2, in add_one
return my_add(new, 1)
NameError: name 'my_add' is not defined
查看Python脚本中函数的顺序是否重要?更多的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。