导入的类可以使用导入文件中的函数和类吗?

时间:2019-08-12 23:12:09

标签: python-3.x python-import

我想整理一下我的代码,然后决定将主文件分成多个较小的文件。

这是旧的设置

coefficient = 2

def foo(x):
    return coefficient*x

class Pair:
    def __init__(self,x,y):
        self.x = x
        self.y = y

class Bar:
    def __init__(self,value):
        self.x = value
        self.y = foo(value)
        self.point = Pair(self.x, self.y)

如果我仅将Bar移到file.py,用from .file import *从那里导入它,并尝试在代码中的任何地方使用它,那么无论如何我都会遇到name is not defined错误除非我也将filecoefficientfoo移到Pair中,否则将丢失。据此,我认为如果将fooPair移至第三个文件并从那里导入(我也打算这样做),则该命令将特别无法工作。

我在这里错过了什么吗,或者这实际上是做不到的吗?

1 个答案:

答案 0 :(得分:1)

通常,您应该能够从另一个文件中调用一个函数。但是,如果导入类中的函数基于要导入的文件,我认为您不能调用它们 bar文件中的“ foo”和“ Pair”。

希望这很有道理。