開発環境
- OS X Lion - Apple(OS)
- BBEdit - Bare Bones Software, Inc.(Text Editor)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のVI部(オブジェクト指向プログラミング)26章(クラスに関する高度なテクニック)の練習問題2、5を解いてみる。
その他参考書籍
2, 5.
コード(BBEdit)
sample.py
#!/usr/bin/env python3.3 #-*- coding: utf-8 -*- class A: @staticmethod # 関数デコレータ def g(): # スタティックメソッド(インスタンス無しで呼び出せる) print("Hello, Staticmethod!") def f(self): # 通常のメソッド print("Hello, Method!") A.g() try: A.f() except Exception as err: print(err) a = A() a.g() a.f()
入出力結果(Terminal)
$ ./sample.py Hello, Staticmethod! f() missing 1 required positional argument: 'self' Hello, Staticmethod! Hello, Method! $
ちなみにJavaScriptの場合。
コード(BBEdit)
var Obj = function(){}; Obj.prototype.f = function(){ $('#pre0').append("Hello, Method!\n"); }; Obj.g = function(){ $('#pre0').append("Hello, Staticmethod\n"); }; Obj.g(); try{ Obj.f(); } catch(e){ $('#pre0').append(e + "\n"); } var o = new Obj(); try{ o.g(); }catch (e){ $('#pre0').append(e + "\n"); } o.f();
0 コメント:
コメントを投稿