Python文法メモ
本当にメモ書きです。
何もしない
pass # _(:3」 ∠)_
制御文
if文
x = 2 if x == 0: # 括弧はいらない。 print "x == 0" elif x == 1: # else ifでもなくelsifでもなくelifなのに注意。 print "x == 1" else: print u"その他"
while文
x = 0 while x < 10: print x x += 1 else: print u"breakでループを抜けなかったときに実行される"
for文
for i in range(10): print i else: print u"breakでループを抜けなかったときに実行される"
ラムダ式
# 個人的に括弧を書きたくなる所なんだけど、こんなもんなんだろうか。 l = lambda x,y : x+y print l(1,2)
関数定義
基本
def func1(a): print a func1(1) #=> 1
デフォルト引数とキーワード引数
def func2(a, b=1, c=2): print (a,b,c) func2(0) #=> (0, 1, 2) func2(a=3,c=5) #=> (3, 1, 5)
可変長引数
def func3(*args): print args func3(3,4,5) #=> (3, 4, 5)
dictで引数を受け取る
def func4(**args): print args func4(a=6,b=7,c=8,d=9) #=> {'a': 6, 'c': 8, 'b': 7, 'd': 9}
クラス定義
# 親クラス class ClassA: pass # 子クラス class ClassB(ClassA): # クラスのアトリビュート attr = 1 def __init__(self): self.a = u"インスタンスのアトリビュート" print u"コンストラクタ" def method(self): return u"メソッド" def _private_method(self): return u"プライベート?メソッド" # インスタンスの生成 k = ClassB() # メソッドの呼び出し print k.method() #=> "メソッド"
例外
try: raise Exception("hoge") # 投げる except Exception, e: # 受け取る print e else: print u"例外が投げられなかったとき" finally: print u"最後に実行"