2017-11-21 3 views
1

私のサンプルコードは以下であると呼ばれるオブジェクト別のクラスのインスタンスが含まれています。誰も私が理解するのを助けることができますか?Pythonのクラスは、最初

+0

'print'デバッグを' __init__' fnsに入れます – doctorlove

答えて

4

オールドスクールデバッグ

print(0) 
class Foo: 
    print(1) 
    def __init__(self): 
     print(2) 
     self.age = 'Age' 

    def __str__(self): 
     print(3) 
     return str(self.age) 

class Bar: 
    print(4) 
    obj_foo = Foo() 
    print(obj_foo) 
    def __init__(self, name): 
     print(5) 
     self.name = name 

    def __str__(self): 
     print(6) 
     return str(self.name) 

print(7) 
obj_bar = Bar("Sam") 
print(obj_bar) 
print(8) 

マイFORTRANの先生は誇りに思うだろう!だからここ

0 
1 
4 
2 
3 
Age 
7 
5 
6 
Sam 
8 

を順序だ:

これは、出力

  • Fooクラスが
  • クラスのバーが
  • 1のFooがインスタンス化され
  • に定義されて定義されているスクリプトの

    • スタート
    • Fooが印刷される
    • のFooの年齢は
    • 1バーがインスタンス化される
    • スクリプトを続けて印刷され
    • バーが印刷され
    • バーの名前が
    • スクリプトを印刷し終えている

    スパイダー+ PDB

    より複雑なスクリプトの場合は、special toを使用することをお勧めしますオール。例えば、spyderpdbとします。

    AnacondaでPythonをインストールした場合は、他のものをインストールする必要はありません。

    デバッグ>デバッグ(Ctrl + F5)を使用してスクリプトを実行し、Ctrl + F10を複数回押して実行を確認し、機能または方法に入る場合はCtrl + F11を押します。

    関連する問題