在python3的加载模块中使用数学

2024-10-03 00:25:57 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的主python文件中,我只加载了数学模块和自己的模块(称为职能部门). 最后,我从刚刚加载的模块运行一个函数。你知道吗

import math
from funcs import *

RetentionTime(1,2,3,4)

那个职能部门文件如下所示:

def RetentionTime(a, b, c, d):
"calculation of retention time"
RT = (11.2 * a) / (b * c * math.degrees( math.atan( d / 100 ) ) )

return RT

这将导致以下名称错误:

NameError: name 'math' is not defined

在python shell中,我可以使用如下命令数学.atan(…)没有问题。我做错什么了?你知道吗

谢谢。你知道吗


Tags: 模块文件of函数fromimportdef数学
1条回答
网友
1楼 · 发布于 2024-10-03 00:25:57
# test.py
y = 5
def f(x):
    print(x+y)

这里f将从最里面的作用域绑定名为y的对象,在本例中是test.py的模块作用域。如果是这样的话

y = 5
def g():
    y = 10
    def f(x):
        print(x+y)
    return f

在这里,f中绑定的y将是对象10。在您的例子中,RetentionTime是在它自己的模块作用域中编译的,不能访问调用者的作用域。因此,将import math添加到与RetentionTime相同的模块中。你知道吗

相关问题 更多 >