ここでは他言語から python を始めた時に「なんじゃろこれ?」や「これどうやるんだろ?」ってなった部分を書いていきます。
自分は Java/Ruby/Scala ならギリギリなんとなくなら読める(気がしてます(苦笑))ので、それ前提で進めています。
- 2.5(Google App Engine)
- 他のバージョンのドキュメント
http://www.python.org/doc/
時間があるなら全部読むといいかもしれません。
分かりやすく説明してくれています。(ような気がします)
# -*- coding: utf-8 -*- import os # os.environ でハッシュ(辞書)形式で取得出来る。 for k, v in os.environ.iteritems(): print k, v print os.environ['PATH']
http://www.python.jp/doc/2.5/tut/node6.html#SECTIO...
# -*- coding: utf-8 -*- def func(hoge, moke='aiueo', fire='bobobo'): print hoge, moke, fire func('test') # 引数名を指定してメソッドを呼び出すことが出来る # これを「キーワード引数」という # キーワード引数で呼び出した場合、引数の順番は関係ない。 # デフォルト引数がない引数名でも呼び出すことが出来る # hoge は第一引数だがキーワード引数で呼び出した場合順番はどこでもいい。 func(moke='moke', hoge='hoge') # 通常の引数とキーワード引数を組み合わせることも出来る func('hogege', fire='fire') # キーワード引数の後ろに通常の引数を指定することは出来ない # func(fire = 'fififi', 'ho') # => SyntaxError
test aiueo bobobo hoge moke bobobo hogege aiueo fire
# -*- coding: utf-8 -*- # 引数の前に * を付けると可変長引数でリスト形式で渡せる # 引数の前に ** を付けると辞書形式でキーワード引数を渡せる def func(val, *args, **keys): print val print args print keys # * や ** 引数は最後にしなければならない # def func2(*args, val): print args # => SyntaxError # def func2(**keys, val): print keys # => SyntaxError func(0, 'a', 'b', 'c', v1=10, v2=20)
0 ('a', 'b', 'c') {'v1': 10, 'v2': 20}
# -*- coding: utf-8 -*- # 型を取得するときはtypeメソッド、型を調べるときはisinstanceメソッドを使う。 print type(10) print isinstance(10, int) # 組込みクラスでない場合typeメソッドだと全て<type 'instance'>になってしまうので、__class__.__name__ で取得する class C: self __init__(self): print('new instance') print type(C()) print C().__class__.__name__
<type 'int'> True new instance <type 'instance'> new instance 'C'
最新コメント