私はデータ解析を扱うプロジェクトに取り組んでいます。関数を見つけて変更するプロセスを単純化するために、私は同じ目的の関数を別のpyファイルに入れることにしました。この問題は、1つのpyファイル内の関数が別のpyファイル内の関数で機能する必要がある場合に発生します。私はクラスで働いて問題を解決できると思う。Pythonはクラスファイルを別個のpyファイルで定義します
a.py
def a1(self):
self.var=3
def a2(self):
self.b1(4)
b.py
def b1(self, x):
self.var=x
def b2(self):
self.a1()
testClass.py
class test(object):
def __init__(self):
self.var=0
from b import *
from a import *
a=test()
print a.var
a.a1()
print a.var
a.a2()
print a.var
a.b2()
print a.var
この:私が実装しようとしているソリューションを実証するために、私は3つのファイルを持っています私が望むことをしますが、Pythonはこのような2つのpyファイルをインポートするのに私に不満です。 C++では、関数のプロトタイプを作成し、宣言をフォワードし、定義を別のファイルに配置しても問題はありません。クラス定義に含まれていないpyファイルのクラスの関数を定義する適切な方法は何ですか?
をあなたは「私に不満である」とはどういう意味ですか?エラーや警告が表示されますか? – cxw
両方のインポートで取得する端末の応答は次のとおりです。「SyntaxWarning:import *モジュールレベルでのみ許可」 – BobJoe1803
インポートするアイテムの名前を明示的に指定します。 'a1、a2からのインポート ' – kindall