我有一个文件(calculations
),其文件名为number
,该函数执行时返回的值为i
。现在,我在另一个文件中定义了一个函数,并希望打印值i
。但是,当我尝试“导入” i
时,收到一条错误消息,提示无法导入i
。
这是我的代码(其中i
应该从number
中定义的函数calculations
导入)
import calculations
def myfunction():
calculations.number()
print(calculations.i)
显然,在没有myfunction()
语句的情况下执行print(calculations.i)
可以成功进行。但是,当我尝试使用相同的方法导入i
时,却没有。我也尝试过使用from calculations import i
,尽管它也不起作用。它可能与以下事实有关:number()
函数中上一次“提及”它的原因是return i
(尽管这可能不是问题),或者与它不存在有关calculations
文件本身的定义,但在该文件中存储的函数之一的定义之内...
无论如何,发生了什么以及如何导入该值?
编辑:这是文件calculations
中的代码:
def number():
a = 2
i = 0
while a < 100
a = a + 2
i = i+1
return i
答案 0 :(得分:2)
您不能导入该函数本地的变量,以下是一些可以使用该变量的方法
解决方案1:
这是文件计算中的代码:
def number():
a = 2
i = 0
while a < 100
a = a + 2
i = i+1
return i
您可以在myfunction中调用数字并将其分配给某个变量,例如我
import calculations
def myfunction():
i = calculations.number()
print(i)
解决方案2:
或者您可以这样做:
这是文件计算中的代码:
i = number()
def number():
a = 2
j = 0
while a < 100
a = a + 2
j = j+1
return j
您的功能
import calculations
def myfunction():
print(calculations.i)
解决方案3:
或者您可以这样做:
这是文件计算中的代码:
global i = 0
def number():
a = 2
while a < 100
a = a + 2
i = i+1
return i
您的功能
import calculations
def myfunction():
print(calculations.i)