読書ノート---Python絶対簡明マニュアル(個人的にはPythonはC++のベストパートナーだと思います)
http://wiki.woodpecker.org.cn/moin/PyAbsolutelyZipManual
最新版 PyAbsolutelyZipManual
Python絶対簡明マニュアル--[email protected]:::--ZoomQuiet[2006-09-15 04:35:33] Py2.5絶対簡明マニュアル 構文 if for pass in パラメータフォーマット**para Lambda関数 Listの関数 リスト導出式 del メタグループ set zip reversed逆ループ sortedソート sequence比サイズ モジュールのインポート パッケージ 出力のフォーマット とうかコード ファイルの読み書き: pickle 初識類 クラス継承 多重継承
Iterators反復器 ジェネレータ式
常用関数不完全マニュアル
フィードバック
CPMGアライアンス:
CPUG::ポータル
BPUG
SPUG
ZPUG
{
CPUGnav }
1. Py2.5絶対簡明マニュアル
簡単に述べる
zurocアクティブリストで共有
PYthon絶対簡明マニュアル、初学必須!
-- For Python2.5
私の技術Blog 私のC++Blog 私の文学Blog
--誤りと漏れを指摘し、提案と意見を提出することを歓迎します.手紙を出してください。[email protected] 1.1. 構文
1.1.1. if
function isnumbered(obj) { return obj.childNodes.length && obj.firstChild.childNodes.length && obj.firstChild.firstChild.className == 'LineNumber'; } function nformat(num,chrs,add) { var nlen = Math.max(0,chrs-(''+num).length), res = ''; while (nlen>0) { res += ' '; nlen-- } return res+num+add; } function addnumber(did, nstart, nstep) { var c = document.getElementById(did), l = c.firstChild, n = 1; if (!isnumbered(c)) if (typeof nstart == 'undefined') nstart = 1; if (typeof nstep == 'undefined') nstep = 1; n = nstart; while (l != null) { if (l.tagName == 'SPAN') { var s = document.createElement('SPAN'); s.className = 'LineNumber' s.appendChild(document.createTextNode(nformat(n,4,' '))); n += nstep; if (l.childNodes.length) l.insertBefore(s, l.firstChild) else l.appendChild(s) } l = l.nextSibling; } return false; } function remnumber(did) { var c = document.getElementById(did), l = c.firstChild; if (isnumbered(c)) while (l != null) { if (l.tagName == 'SPAN' && l.firstChild.className == 'LineNumber') l.removeChild(l.firstChild); l = l.nextSibling; } return false; } function togglenumber(did, nstart, nstep) { var c = document.getElementById(did); if (isnumbered(c)) { remnumber(did); } else { addnumber(did,nstart,nstep); } return false; } document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1.1.2. for
document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
#aの内容を変更する場合は、次のようにaのコピーでループします.
document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
break,continue用法とC++の類似
1.1.3. pass
document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
#関数は、次のように名前を変更できます.
document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1.1.4. in
document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1.1.5.パラメータフォーマット**para
#パラメータのフォーマットは*paraで辞書を受け入れ、*paraでメタグループを受け入れる
document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1.1.6.Lambda関数
document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1.1.7.Listの関数
filter(function関数、sequenceシーケンス)は、filerをtrueにするsequenceの
map(function,sequence,[sequence...])新しいsequenceを返します.シーケンスの値は、各要素に対してfunctionを呼び出すことです.
reduce(function,sequence,[init])は、次のような単一値を返します.第1の結果=function(sequence[0],sequence[1]) 第2の結果=function(第1の結果、sequence[2]) は、最後の計算値 を返します. initがある場合は を呼び出す.
function(init,sequence[0])sequenceが1つの要素しかない場合、その要素を返し、空の場合に異常を投げ出す.
1.1.8.リスト導出式
1.1.9. del
document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
異常を投げ出す
1.1.10.タプル
1.1.11. set
set(コレクション):無秩序で重複しない要素セット
document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
=== dict ===
辞書:キーワードは文字列、整数などの可変タイプで、可変オブジェクトのみを含むメタグループです.リスト等をキーワードとすることはできない.リストにキーワードペアがある場合はdict()で直接辞書を構築することができる.このようなリスト対は、通常、リスト導出式により生成する.
document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
出力:
document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
Enumerate()は、インデックスの位置と対応する値を返します.
document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
出力:0 tic
1 tac
2 toe
1.1.12. zip
zipは複数のsequenceのループに使用されます
document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
出力:
1.1.13.reversed逆ループ
document.write('
Toggle line numbers<\/a>'); </script>
Toggle line numbers
出力:
最新版
Python絶対簡明マニュアル--[email protected]:::--ZoomQuiet[2006-09-15 04:35:33]
CPMGアライアンス:
CPUG::ポータル
BPUG
SPUG
ZPUG
{
CPUGnav }
1. Py2.5絶対簡明マニュアル
簡単に述べる
zurocアクティブリストで共有
PYthon絶対簡明マニュアル、初学必須!
-- For Python2.5
:0.2 beta
:
:python2.5
:Zoom.Quiet limodou
私の技術Blog 私のC++Blog 私の文学Blog
--誤りと漏れを指摘し、提案と意見を提出することを歓迎します.手紙を出してください。[email protected] 1.1. 構文
1.1.1. if
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 x=int(raw_input("Please enter an integer:"))
2 if x<0:
3 print 'Negative Number'
4 elif x==0:
5 print 'Zero'
6 else:
7 print 'Positive Number'
1.1.2. for
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 a=['cat','door','example']
2 for x in a:
3 print x
#aの内容を変更する場合は、次のようにaのコピーでループします.
for x in a[:] :
.....................
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 >>>range(10,0,-3)
2 [10,7,4,1]
3 a=['cat','door','example']
4 for i in range(len(a)):
5 print i,a[i]
break,continue用法とC++の類似
1.1.3. pass
while True:
pass #忽略,什么也不做
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 def fib(n=1000):#参数可以有默认值,多个可选参数赋值可以直接写"参数变量名=值"来快速赋值
2 """这里给函数写文档注释"""
3 a,b=0,1
4 while b<n:
5 print b
6 a,b=b,a+b
#関数は、次のように名前を変更できます.
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 f=fib
2 f(223)
1.1.4. in
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 if 'yes' in ('y','ye','yes'):print 'ok'
1.1.5.パラメータフォーマット**para
#パラメータのフォーマットは*paraで辞書を受け入れ、*paraでメタグループを受け入れる
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 def test(para1,*args,**dic):
2 print para1
3 for arg in args : print arg
4 keys=dic.keys()
5 keys.sort()
6 for key in keys:print key ,':',dic[key]
1.1.6.Lambda関数
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 def make_incrementor(n):
2 return lambda x: x+n
3 f=make_incrementor(n)
4 >>>f(0)
5 42
6 >>>f(1)
7 43
1.1.7.Listの関数
append(x) 追加到链尾
extend(L) 追加一个列表
insert(i,x) 在位置i插入x
remove(x) 删除第一个值为x的元素,如果不存在会抛出异常
pop([i]) 返回并删除位置为i的元素,i未给定时默认作用在最后一个元素.[i]表示i为可选的
index(x) 返回第一个值为x的元素,不存在则抛出异常
count(x) 返回x出现的次数
sort() 排序
reverse() 翻转,反转
filter(function関数、sequenceシーケンス)は、filerをtrueにするsequenceの
map(function,sequence,[sequence...])新しいsequenceを返します.シーケンスの値は、各要素に対してfunctionを呼び出すことです.
reduce(function,sequence,[init])は、次のような単一値を返します.
function(init,sequence[0])sequenceが1つの要素しかない場合、その要素を返し、空の場合に異常を投げ出す.
1.1.8.リスト導出式
freshfruit=[' banana ',' loganberry ']
>>>[weapon.strip() for weapon in freshfruit]
['banana','loganberry']
vec=[2,4,6]
>>>[3*x for x in vec if x>3]
[12,18]
>>>[(x,x**2) for x in vec] #一个元素一定要是一个sequence,而
[x,x**2 for x in vec]是错误的
[(2,4),(4,16),(6,36)]
vec2=[4,3,-9]
[x*y for x in vec for y in vec2]
[vec[i]+vec2[i] for i in range(len(vec))]
[str(round(355/113.0,i)) for i in range(1,6)] #str()是转换类型为可以打印的字符
1.1.9. del
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 a=[1,2,3,4,5,6]
2 del a[0]
3 >>>a
4 [2,3,4,5,6]
5 del a[2:4]
6 >>>a
7 [2,3,6]
8 del a[:]
9 >>>a
10 []
11 del a
12 >>>a
異常を投げ出す
1.1.10.タプル
t=1234,5567,'hello'
x,y,z=t #拆分操作可以应用于所有sequence
>>>x
1234
u=t,(1,2,3)
>>>u
((1234,5567,'hello'),(1,2,3))
empty=() #空元组
singleton='hi', #单个元素的元组
1.1.11. set
set(コレクション):無秩序で重複しない要素セット
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 basket = ['apple','orange','apple','pear','apple','banana']
2 fruit=set(basket)
3 >>>fruit
4 set(['orange', 'pear', 'apple', 'banana'])
5 >>>'orange' in fruit
6 True
7 a=set('abracadabew')
8 >>>a
9 set(['a', 'c', 'b', 'e', 'd', 'r', 'w'])
10 b=set('wajgwaoihwb')
11 >>> b
12 set(['a', 'b', 'g', 'i', 'h', 'j', 'o', 'w'])
13 >>> a-b #差
14 set(['c', 'r', 'e', 'd'])
15 >>> a|b #并
16 set(['a', 'c', 'b', 'e', 'd', 'g', 'i', 'h', 'j', 'o', 'r', 'w'])
17 >>> a&b #交
18 set(['a', 'b', 'w'])
19 >>>a^b #(并-交)
20 set(['c', 'e', 'd', 'g', 'i', 'h', 'j', 'o', 'r'])
=== dict ===
辞書:キーワードは文字列、整数などの可変タイプで、可変オブジェクトのみを含むメタグループです.リスト等をキーワードとすることはできない.リストにキーワードペアがある場合はdict()で直接辞書を構築することができる.このようなリスト対は、通常、リスト導出式により生成する.
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 tel={'jack':4098,'sape':4139}
2 tel['guido']=4127
3 >>> tel
4 {'sape': 4139, 'jack': 4098, 'guido': 4127}
5 >>>tel['jack']
6 4098
7 del tel['sape']
8 >>>tel.keys()
9 ['jack', 'guido']
10 >>>tel.has_key('jack')
11 True
12 knight={'gallahad':'the pure','robin':'the brave'}
13 for k,v in knight.iteritems():
14 print k,v
出力:
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 gallahad the pure
2 robin the brave
Enumerate()は、インデックスの位置と対応する値を返します.
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 for i,v in enumerate(['tic','tac','toe'])
2 print i,v
出力:0 tic
1 tac
2 toe
1.1.12. zip
zipは複数のsequenceのループに使用されます
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 questions=['name','quest','favorite color']
2 answers=['lancelot','the holy grail','blue']
3 for q,a in zip(questions,answers):
4 print 'What is your %s ? It is %s.'%(q,a)
出力:
What is your name ? It is lancelot.
What is your quest ? It is the holy grail.
What is your favorite color ? It is blue.
1.1.13.reversed逆ループ
Toggle line numbers<\/a>'); </script>
Toggle line numbers
1 for i in reversed(range(1,4)):
2 print i
出力:
3
2