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だらけだったけど、こいつの正体も不明。

python
名前

ほか