私はpythonが初めてで、いくつかのクラスを含むファイルがあります。クラス「class1」のメソッドで、別のクラス「class2」のメソッドを使用したい。インポートの方法と、class1 からメソッドを呼び出す方法を教えてください。私はいくつかの異なることを試しましたが、何もうまくいかないようです。
27542 次
3 に答える
6
それらは既に同じファイルにあるため、インポートする必要はありません。
代わりに、次のようにします。
class1 = Class1() #assigns class1 to your first class
Class1
次に、次のようにメソッドを呼び出します。
Class2():
def method2(self):
class1.method1() #call your method from class2
基本的Class2()
に、インスタンスを取得してポイントしclass2
、実行してそのクラスのメソッドを呼び出していclass2.method2()
ます。現在のクラスから関数を呼び出すのと同じですが、その前にインスタンス名を使用します。
次に例を示します。
class Class1():
def method1(self):
print "hello"
class Class2():
def method2(self)
class1 = Class1()
class1.method1()
次に、呼び出すClass2()
と「hello」が出力されます。
于 2013-07-03T10:23:46.057 に答える
3
すべてのクラスを含むファイルがmyclass.py
次のように呼び出されるとします。
class Class2(object):
def foo(self):
return 'cabbage'
class Class1(Class2):
def bar(self):
return self.foo()
メイン スクリプトでは、通常どおりモジュールをインポートできます。
import myclass
これで、次のインスタンスを作成できますclass1
。
myinstance = myclass.Class1()
次に、関数を直接呼び出すことができます。
myinstance.bar()
# Returns 'cabbage'
于 2013-07-03T10:23:57.900 に答える
2
すべてのクラスが同じファイルにある場合は、それらをインポートする必要はありません。それらはすでにモジュールスコープにあります。次に例を示します。
class A():
def print_one(self):
print "one"
class B():
def print_two_and_one(self):
print "two"
A().print_one()
B().print_two_and_one()
于 2013-07-03T10:24:31.480 に答える