ptthonシェルの起動と終了
$python Python 2.7.5 (default, Aug 25 2013, 00:04:04) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> >>>exit()
エンコーディングの設定
# coding: utf-8
型
Numeric
string
list
tuple
dic
set
型(Numeric/)
1+1 2 2*3 6 2**3 2の3乗 8 10%3 1 乱数 import randam random.random 0.3345898739 random.choice([10,20,30]) このなかからのランダムチョイス 10 math import math math.pi 3.141592....
文字列(string)
a='CA' a 'CA' b="TX" b 'TX' c='ABC\'D' エスケープ c 'ABC'D' a+b 'CATX' a+b 'CATX' a*2 'CACA' インデックスアクセス a[0] C a[1] A インデックスアクセス a[-1] A a[-2] C 部分文字列 hello='Hello' hello[1:3] 'el' a[3:] 'lo' a[:-2] 'Hel' string関数 len(a) length a.find('e') find 'e' a.upper() 大文字変換 オブジェクトの関数一覧表示 dir(a) 関数ヘルプの表示 help(a.find) フォーマット a='Hello' '{0},world!!'.format(a) 'Hello world!!' x=10/3 '{0:.3f}'.format(x) 3.333 '{0:.0}'.format(x) 3 '{:,}'.format(12345678) 12,345,678
リスト
要素の定義 l=[2,4,6,8,10] 要素の取得 l[1] 4 要素の取得 l[1:3] [4,6] 結合 M=l+[1,3,5] M [2,4,6,8,10,1,3,5] ソート M.sort() M [1,2,3,4,5,6,8,10] 要素の追加 M.append(100) [1,2,3,4,5,6,8,10,100] 要素を削除 M.pop(10) [1,2,3,4,5,6,8,100] LENGTH取得 len(M) 8 特定の要素のカウント M=[1,1,1,2,3,4,4,5] M.count(1) 3
タプル(構造体)
A = ('aiueo', 123) A ('aiueo', 123) x=A x ('aiueo', 123) a,b=A a 'aiueo' b 123 インデックスアクセスもできる。 A[0] 'aiueo' A[1] 123 ただしこれは出来ない。 A[0]='kakikukeko' <- ×
ディクショナリ(hush map)
A={'name':'miya','age':35} A['name'] 'miya' 空で定義 B={} B['name']='abeshi' B['age']='4' B {'name':'abeshi','age':4} ディクショナリ関数表示 dir(B) キー一覧取得 B.keys() 値一覧取得 B.values() キーが有るかどうかチェック B.has_key('name') <-あるとき True B.has_key('job') <-ないとき False Or 'name' in B <-あるとき True 'job' in B <-ないとき False
セット(リストをdistinctにしたもの。リストの中から重複された物をぬいたもの)
A=['a','b','a','c','c','c']; B=set(A) B set('a','b','c') setの演算 A=set('Hello') B=set('World') A=set(['H','e','l','o']) B=set(['W','o','r','l','d']) 論理和 A|B set(['H','e','l','o','W','r','d']) アンド A&B set(['l','o']) 排他的論理和 set(['H','e','W','r','d'])
制御文
x=1 ;はつけないのが慣例(つけてもよい) 基本は1行 1ステートメント y=2 if x>y: コロンをつける事。if (x>y):でもOK print 'x is bigger' else: print 'y is bigger' インデントが重要 if a=1: print 'a is' print a print 'dayon' else: print 'a is' print a print 'janai-yo' 一行にまとめる if a=1: print 'a is number 1.' リスト定義(複数行またいでもOK) L=[[1,2,3],[4,5,6],[7,8,9]] M=[[1,2,3], [4,5,6], [7,8,9]]
例外
def detail(request, poll_id): try: p= Poll.objects.get(pk=poll_id) except Poll.DoesNotExist: raise Http404 return render_to_response('polls/detail.html',{'poll':p})