Python 依赖于外部函数中对象的嵌套函数是否可以分离到另一个.py文件以清理代码?
对不起,如果这个问题听起来太笼统,但我有一个动机。 假设在python中,我们首先启动这样一个函数Python 依赖于外部函数中对象的嵌套函数是否可以分离到另一个.py文件以清理代码?,python,nested-function,Python,Nested Function,对不起,如果这个问题听起来太笼统,但我有一个动机。 假设在python中,我们首先启动这样一个函数 def f1(arguments): #insert some statements such as x=27 yz=['string'] return(whatever) 然后继续在f1中插入一个函数,使整个代码变为 def f1(arguments): #insert some statements such as x=27 y
def f1(arguments):
#insert some statements such as
x=27
yz=['string']
return(whatever)
然后继续在f1中插入一个函数,使整个代码变为
def f1(arguments):
#insert some statements such as
x=27
yz=['string']
def f2():
newthing=x
#more code for f2
return(whatever)
#rest of code for f1
return(whatever from f1)
请注意,f2中的“newthing”取决于f1中的某些内容。。。在实践中,当所有这些代码都显式地写在同一个.py文件中时,它似乎工作得很好。但我的问题是:
假设我想在一个单独的f2.py文件中编写f2的代码,这样就不必在f1.py中显式地显示代码。也许f2中的代码是很长的,如果表面上能清理一下就好了。是否可以使用一些导入语句来执行此操作?或者我担心f1和f2的明显纠缠是对的,在这种情况下这是不可能的?f1依赖于f2,而f2依赖于f1 不,你不能那样做。Python使用词法作用域
f2()
只能引用f1()
的函数,如果它是文本嵌套的
如果要分离函数,应该将所需的变量作为参数和返回值传递。我认为最好在f1之外声明f2,在f1中调用f2
def f2(value):
blah blah blah
def f1:
value = 4
f2(value)
blah blah blah
希望这有意义