2016-08-20 5 views
0
私がClassBのからメソッドを呼び出したい

内からクラスのメソッドを呼び出して、渡した引数:のPython:クラスAでの方法では、「DIFFERENTクラス」のメソッド

class A: 
    B.processAds(ad, cnx, renewableAds, adsToRenew, webdriver) 


class B: 
    def processAds(self, ad, cnx, renewableAds, adsToRenew, webdriver): 

私はこれをどのように行うのでしょうか?

+0

クラスBのインスタンス( 'foo = B()')を最初に初期化し、それをクラスA( 'foo.some_method_from_A(args)')で使用する必要があります。 – cuongnv23

+1

'クラスB 'は'クラスA'のどのインスタンスが使用されるべきかを知っていますか?それはインスタンスの初期化やメソッド呼び出し自体に渡されますか?非常に多くのパラメータを持たないrunnableスクリプトの例は、12行だけです。これをもう少し解き放つのはいかがですか? – tdelaney

答えて

0

クラスBにclassmethodの方法を行います。

class B: 
    @classmethod 
    def processAds(cls, ad, cnx, renewableAds, adsToRenew, webdriver): 

、あなたはクラスBのインスタンスを作成せずにそれを使用することができます、例えば:

return_value = B.processAds(ad, cnx, renewableAds, adsToRenew, webdriver) 

あなたがでclassmethodについての詳細を読むことができますこのanswer

+1

クラスメソッドがうまくいくと結論づけるのに十分な情報はないと思います。 OPは、 'processAds'がインスタンスメソッドであることをはっきりと示しています。 – tdelaney

関連する問題