gpt4 book ai didi

python - 使用Python导入不同模块中函数的返回值时出错

转载 作者:行者123 更新时间:2023-12-01 01:32:58 25 4
gpt4 key购买 nike

我有一个文件(calculations),其中定义了名为number的函数,执行时其返回值为i。现在,我在另一个文件中定义了一个函数,并想要打印值 i。但是,当我尝试“导入”i 时,收到一条错误消息,指出无法导入 i

这是我的代码(其中 i 应该从 calculations 中定义的函数 number 导入)

import calculations

def myfunction():
calculations.number()
print(calculations.i)

显然,在没有 print(calculations.i) 语句的情况下执行 myfunction() 可以成功执行。但是当我尝试按照相同的方法导入 i 时,却没有。我也尝试过使用 from Calculations import i,但它也不起作用。这可能与以下事实有关:number()函数中最后一次“提到”它是return i(尽管这可能不是问题) ,或者事实上它不是 calculations 文件本身的一部分,但它位于该文件中存储的函数之一的定义内...

无论如何,发生了什么以及如何导入该值?

编辑:这是文件计算中的代码:

def number():
a = 2
i = 0
while a < 100
a = a + 2
i = i+1
return i

最佳答案

您不能导入函数本地的变量,下面是一些可以使用该变量的方法

解决方案 1:

这是文件计算中的代码:

def number():
a = 2
i = 0
while a < 100
a = a + 2
i = i+1
return i

您可以在 myfunction 中调用 number 并将其分配给某个变量,比如说 i

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)

关于python - 使用Python导入不同模块中函数的返回值时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52658443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com