2012年9月7日金曜日

開発環境

『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVI部(クラスとオブジェクト指向プログラミング)の26章(クラスに関連する高度なテクニック)5を解いてみる。

その他参考書籍

5.

通常のメソッドは第1引数にインスタンス(self)が渡される(結合メソッドの場合は自動的に、非結合メソッドの場合は明示的に)けど、スタティックメソッドは渡す必要がない。

コード(TextWrangler)

sample.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

class MyClass:
 def f(self,message):
  print("インスタンスメソッド("+message+")")
 def g():
  print("スタティックメソッド、クラスメソッド")

if __name__ == "__main__":
 obj = MyClass()
 obj.f('結合メソッド')            # インスタンスメソッド(結合メソッド)
 MyClass.f(obj,'非結合メソッド')   # インスタンスメソッド(非結合メソッド)
 MyClass.g()                    # スタティックメソッド、クラスメソッド

入出力結果(Terminal)

$ ./sample.py
インスタンスメソッド(結合メソッド)
インスタンスメソッド(非結合メソッド)
スタティックメソッド、クラスメソッド
$

0 コメント:

コメントを投稿