Google App EngineのためにPythonを超速効で理解する
超おおざっぱに覚えたことを書き留めておく。
Rubyでいうrequire
import。fooモジュールだかクラスだかをfoo.pyってファイルに記述して、import fooするらしい。
名前空間を使うなんかよくわからないやり方はfrom org.tt25.foobar import baz。この場合bazモジュールだかクラスだかが読み込まれる。
感覚的にはimportが先だと思うんだけどなあ。from foo.bar.bazって書いてるうちに何をimportしようとしたか忘れる。
配列/ハッシュ
Pythonでの名前はlist/dictっぽい。たぶんだけど。
定義のしかたはそれぞれ
l=[1,2,3]
d={"key": "val","key2": "val2"}
っぽい。JavaScriptと同じか。
Array#joinなんてものはない
arr=[1,2,3]
arr.join(",") # error
",".join(arr) # ok
なんでArray#joinじゃなくString#joinなのかはFAQらしいのでググれ。
[1,2,3].each相当
for(l in [1,2,3]):
print l
ついでにハッシュ(辞書?)。
dict={"a": 1,"b": 2}
for(k,v in dict.iteritems():
print k,v
obj.methods相当
dir(obj)
str=”こんにちは#{where}の#{user}さん。”
str=”こんにちは%sの%sさん” % (where,user)
あるいは、
str="こんにちは%(where)sの%(user)sさん。" % {"user" : user,"where" : where}
ERB相当
from string import Template、でいいのかどうかよくわからん。
パッケージ?
/A/B/foo.pyってファイルレイアウトがそのままfrom A.B import fooみたいにネームスペースになるらしい。詳細不明。Google App Engine SDKのディレクトリが__init__.pyだらけだったけど、こいつの正体も不明。
こめんと