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