Pythonのオブジェクト操作

■ソース

class TestClass :
  def __init__(self, max) :  ・・・ コンストラク
    self.max = max ・・・ インスタンス変数に暫定最大値をセット

  def teach(self, n) :
    if n > self.max :
      print('Big !!', n, ' > ', self.max)
      self.max = n
    else :
      print('not Big.')

a = TestClass(2)
a.teach(3)
a.teach(1)
a.teach(6)

print('Max=', a.max) ・・・ インスタンス変数にアクセスできてしまう。

              __maxのようにアンダースコアを2つ先頭に付加すると

              クラスの外からアクセスできなくなる。

 

※コンストラクタを含むすべてのメソッドの第一引数は self でなければならない。

 

■実行結果

Big !! 3  >  2
not Big.
Big !! 6  >  3

Max= 6

 

 

 

■パッケージ

ファイルシステムでいうところのフォルダに相当(イコールではない)。

__init__.py という名前のファイルを持つフォルダがパッケージとなる。

__init__.pyモジュールには、importされたときに実行されるパッケージの初期化処理を書く。特に初期化処理がない場合は、空ファイルで良い。

 

 

 

 

 

---------------------------------------
ITとことんのトップページ

┗■Pythonのトップページ

 ┗■本ページ