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})

