2017-11-02 5 views
-2

クラス「A」からクラス「B」に存在する静的変数にアクセスする正しい方法があるかどうか教えてください。また、クラス "B"に静的メソッドがあったことを知りたいのですが、クラスAから何らかの方法でアクセスできますか?Pythonの別のクラスに存在するメソッドからあるクラスのプライベート静的変数にアクセスするにはどうすればよいですか?

+1

Pythonには「静的変数」がありません。ここでは、「B.age」はクラス属性です。 –

+0

ブルーノは言った。 'B.age'は私的でも静的でもありません。 –

+0

私たちはB.ageがプライベートではないと言っていますか? –

答えて

0

静的変数へのアクセスは正しいと思いますが、同様の方法で静的メソッドにアクセスすると、私は以下のようにサンプルコードを更新しました。

class A: 
    def __init__(self): 
     self.name="XYZ" 
    def collect_data(self): 
     b=B.age 
     print(b) 
     B.static_method_b(10) 

class B: 
    age=9 

    @staticmethod 
    def static_method_b(val): 
     print(val) 

objectA=A() 
objectA.collect_data() 
+0

おかげでルーク!もう1つ質問だけ。この静的変数をプライベートにできますか?クラスBで__age = 9とします。では、クラスAからどのようにアクセスするのですか?それはBのようなものです.__年齢= 9? –

+0

@AnkitBiswasもう少し複雑ですが、誰かが既にここで説明しています(https://stackoverflow.com/questions/1641219/does-python-have-private-variables-in-classes) –

関連する問題