1、源代碼
hello.py:
1 #!/usr/bin/python2 PRint "hello world"
2、字節代碼:python源文件經編譯后生成的擴展名為“pyc”的文件
編譯方法(compile.py):
import py_compilepy_compile.compile('hello.py')
然后執行:
$ python compile.py
會生成二進制的 hello.pyc 文件
3、優化代碼:經過優化的源文件,擴展名為 pyo
在命令行下執行下面的命令優化:
$ python -O -m py_compile hello.py
1、整數除法 //
即只取結果中的整數部分:
>>> 3.0 // 21.0>>> 3 // 21
2、求冪運算 **
>>>3**327>>>3**29
3、邏輯與、邏輯或、邏輯非
>>> 1>2 and 3>2False>>> 2>1 and 3>2True>>>1>2 or 3>2True>>>1>2 or 1>3False>>> not 1>2True>>> not 2>1False
4、運算符優先級:

1、數字:分整型、長整型、浮點、復數
其中復數(用j表示):
>>> a=3.14j>>> type(a)<type 'complex'>>>>
2、字符串:單雙引號一樣
>>> str1="a">>> str2='a'>>> id(str1)140710100204544>>> id(str2)140710100204544>>> mail="""tom:... i am jack... goodbye... """>>> print mailtom: i am jack goodbye>>>
切片:[start:stop:step]
即:[開始索引:結束索引:步長值]
開始索引:同其它語言一樣,從0開始。序列從左向右方向中,第一個值的索引為0,最后一個為-1
結束索引:切片操作符將取到該索引為止,不包含該索引的值。
步長值:默認是一個接著一個切取,如果為2,則表示進行隔一取一操作。步長值為正時表示從左向右取,如果為負,則表示從右向左取。步長值不能為0
注明:如果是string[ : ]的模式,那么就是[start:stop]
示例:
>>>exam="abcdefghi" >>>print exam[:-1]abcdefgh >>>print exam[2:]cdefghi >>>print exam[:7:2]aceg >>>print exam[:3:-1]ihgfe
注意:最后一行,因為第三個參數是-1,所以是倒序輸出的,但是此時的索引并沒有倒序排列
3、列表:處理一組有序項目的數據結構,是可變類型數據,用[]表示,包括了多個以逗號隔開的項目。
>>> l=['jim',25,'male']>>> l['jim', 25, 'male']>>> type(l)<type 'list'>>>> l[0]'jim'>>> l[0]='tom'>>> l[0]'tom'>>> l['tom', 25, 'male']
空列表:
>>>l=[]
只有一個值:
>>>l=['abc']
列表常用方法:
取值:list[index] 或者 list[start:end:offset]
追加:list.append(x);
追加列表:list.extend([x,y]);結果為[...,x,y],注意跟append的區別
刪除:del(list[index]) 或者 list.remove(list[index])
修改:list[index]=x
查找:var in list
>>>l=['a',1]>>>'a' in lTrue>>>'b' in lFalse
4、元組:跟列表類似,只是跟字符串一樣是不可變的,即你不能修改元組(只能在內存中重新創建一個)。
>>>userinfo=("tom", 30, "man")>>>userinfo[0]"tom"
空元組:
>>>t=()
單一元素的元組:
>>>t=(1,)
注意,不能省略逗號
用變量接收元組:
>>> t('jim', 25, 'man')>>> name,age,gender=t>>> name'jim'>>> age25>>> gender'man'>>>a,b,c=(1,2,3)>>>a1>>>b2>>>c3
5、字典:python中唯一的映射類型(哈希表)
創建方式:
(1){}
>>>dic={0:0,'a':'abc'}>>>dic[0]0>>>dic['a']'abc'(2)使用工廠方法dict()
>>> fdict=dict([('x',1),('y',2)])>>> fdict{'y': 2, 'x': 1}
(3)fromkeys():字典中的元素具有相同的值,默認為None
>>> d={}.fromkeys(('x','y',0), -1)>>> d{'y': -1, 'x': -1, 0: -1}字典常用方法:
(1)、使用鍵值訪問更新
(2)、del dict1['a']刪除字典中鍵值為a的元素
(3)、dict1.pop('a') 刪除并返回鍵為'a'的元素
(4)、dict1.clear()刪除字典所有元素
(5)、del dict1 刪除整個字典
(6)、str(dict1) 轉換為字符串
(7)、get(key[, msg]) 如果key不存在返回msg(沒有為空)值
(8)、dict1.items() 返回鍵值對元組的列表
>>> d{'a': 1, 'b': 2}>>> d.items()[('a', 1), ('b', 2)]
(9)、dict1.keys() 返回字典中鍵的列表
>>> d{'a': 1, 'b': 2}>>> d.keys()['a', 'b']
(10)、dict1.setdefault(key,default=None) 若key存在則返回其value,否則dict1[key]=default
(11)、dict1.update(dict2) 將dict2中的鍵值對添加到字典dict1中,如果有重復就覆蓋,否則添加。
(12)、len(dict1) 返回字典中有多少項
>>> d{'a': 1, 'b': 2}>>> len(d)2
6、序列:列表、字符串、元組都是序列
切片:序列后跟一個方括號,方括號中有一對用冒號隔開的可選數字,數字是可選的,冒號是必須的。如:
>>>exam="abcdefghi" >>>print exam[:-1]abcdefgh >>>print exam[2:]cdefghi >>>print exam[:7:2]aceg >>>print exam[:3:-1]ihgfe
索引:序列后跟一個方括號,方括號中有一個數字(可以是負數)。如:
>>>exam="abcdefghi" >>>print exam[0]a
1、len:序列長度
>>>exam="abc" >>>len(exam)3
2、+:連接兩個序列
>>>str1="abc" >>>str2="d">>>str1+str2abcd
3、*:重復序列元素
>>>str1="abc " >>>str1*3abc abc abc
4、in:判斷元素是否在序列中
>>>str1="abc " >>>'c' in str1True>>>'x' in str1False
5、max:返回最大值
>>>s='12345'>>>max(s)'5'
6、min:返回最小值
>>>s='12345'>>>min(s)'1'
7、cmp(tuple1, tuple2):比較兩個序列值是否相同
>>>str1='abc'>>>str2='123'>>>cmp(str1,str2)1>>>str1='1'>>>cmp(str1,str2)-1>>>str1='123'>>>cmp(str1,str2)0
六、
 
  | 
新聞熱點
疑難解答