我正在导入我在包中创建的模块
这是我的密码:
import test.addition._addition
import test.subtraction._subtraction
import test.multiplication._multiplication
class calcul:
def addition(self, a, b):
self.c = _addition(a,b)
print self.c
def subtraction (self, a,b):
self.c = _subtraction(a, b)
print self.c
def multiplication (self, a, b):
self.c =_multiplication (a, b)
print self.c
正如您在代码的前3行中注意到的,
我已经将模块_addition
存储在名为addition的文件夹中,并且再次将addition文件夹存储在名为test的文件夹中。
减法和乘法也是一样的。
在每个文件夹中,我都创建了一个模块__init__
,以确保它被声明为包
更清楚的是,下面是模块_addition
中的代码
def _sous_addition(a,b):
return float(a) + float(b)
问题是python告诉我:
未定义全局名称“\u addition”
您应该使用
test.addition._addition._addition
来调用该函数更重要的是:
模块和函数不得使用相同的名称强>
这真的是一种非常糟糕的编码风格,迟早会影响你的。似乎德塞兹对此感到困惑。请避免
写入
import test.addition._addition
时,本地作用域中可用的名称是test
,您可以使用test.addition._addition
访问_addition
函数。你需要使用它的全名如果要将名为
_addition
的函数导入本地作用域,则需要编写以下内容之一:相关问题 更多 >
编程相关推荐