我想整理一下我的代码,然后决定将主文件分成多个较小的文件。
这是旧的设置
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
错误除非我也将file
,coefficient
和foo
移到Pair
中,否则将丢失。据此,我认为如果将foo
或Pair
移至第三个文件并从那里导入(我也打算这样做),则该命令将特别无法工作。
我在这里错过了什么吗,或者这实际上是做不到的吗?
答案 0 :(得分:1)
通常,您应该能够从另一个文件中调用一个函数。但是,如果导入类中的函数基于要导入的文件,我认为您不能调用它们 bar文件中的“ foo”和“ Pair”。
希望这很有道理。