(*なんか途中で書いてて飽きてきたので核のやめたw...*)
はじめに
教科書は、「みんなのPython」と「Pythonチュートリアル」。 「みんなのPython」はネットで評判がいいから購入。しかしどうも自分には内容が合わないのでつづけて「Pythonチュートリアル」も購入してしまった。「Pythonチュートリアル」はWeb上でも見られるが自分はアナログ派なのでこっちのほうがしっくり来る。値段も1200円と安いし。
と勉強してみたものの、なんかしっくり来ない。理由は以下
- エディタによる自動インデントがうまくいかない(ことがある)
- デバッグ文を書くとき、わかりやすいようにインデントをずらす癖があるが、それが使えない。
- Emacsのshellから起動してみたが、リアルタイムでpygameからprint文が出力されない。
- クラス仕様が緩すぎる てな感じでなんかなじめないです。Blenderでスクリプトつくるときにやればいいか。 やっぱ、rubyのほうがいいな。
基本
-
インタプリタ起動
python
-
インタプリタ終了
>>>quit()
電卓
型変換
-
数字を数値に
ntstr = "1234"
int(ntsr) + 5678 6912
-
数値を文字列に
>>>ntstr + str(5678) '12345678'
-
数値を文字列に
変数
- 数値
- 文字列
-
リスト
[1,2,3,4]
-
タプル
(1,2,3,4)
-
辞書(ディクショナリ)
{'spam':u'スパム', 'ham':u'ハム'}
-
ヒアドキュメント
""" ああああ いいいい うううう """
-
ユニコード
u"あいうえお"
配列
繰り返し
-
リストをまわす
a = ['cat', 'window', 'defentestrate'] for x in a: print x, len(x)
-
インデックスを使う
for i in range(len(a)) print i, a[i]
-
else節
else節はリストを使い果たしたり、条件式がfalseになることでループが終了したときに実行される。
for n in range(2, 10): for x in range(2, n): if n % x == 0:
print n, , x, , n/xbreak else: print n, 'is a prime number'
条件分岐
switch分はなく、elifで表現する。
if x < 0: x = 0 elif x == 0: print 'ゼロ' elif x == 1: print 'ひとつ' else: print 'もっと'
関数
def fib(n) """nまでのフィボナッチ級数を表示する""" a, b = 0, 1 while b < n: print b, a, b = b, a+b