use*_*731 6 python import function
我有一个类,我想通过执行以下操作导入def函数:
import <file>
Run Code Online (Sandbox Code Playgroud)
但是当我试着打电话时,它说无法找到def.我也尝试过:
from <file> import <def>
Run Code Online (Sandbox Code Playgroud)
但后来它说没有定义全局名称'x'.
那我该怎么做呢?
编辑:
这是我想要做的一个例子.在file1.py我有:
var = "hi"
class a:
def __init__(self):
self.b()
import file2
a()
Run Code Online (Sandbox Code Playgroud)
在file2.py我有:
def b(self):
print(var)
Run Code Online (Sandbox Code Playgroud)
它只是给了我一个错误.
import file2
Run Code Online (Sandbox Code Playgroud)
加载模块file2并将其绑定到file2当前命名空间中的名称.b从file2可作为file2.b,不b,所以它不被视为一个方法.你可以修复它
from file2 import b
Run Code Online (Sandbox Code Playgroud)
这将加载模块并将该模块的b功能分配给名称b.不过我不推荐它.如果您经常需要在不相关的类中使用相同的方法,则file2在顶层导入并定义一个委托file2.b或定义您可以继承的mixin超类的方法.导入一个函数以将其用作方法会让人感到困惑,如果您尝试使用的函数在C中实现,它就会中断.