py基礎學習
1.命令列輸入python命令式,例如python test.py -c -m install
sys.argv=['test.py', '-c', '-m', 'install']
2.切片,str[0: 5: -1],含頭不含尾,-表示倒序切
3.unicode和encode
unicode(str, "utf-8"), 將utf-8編碼的str轉換為unicode編碼
str.encode("utf-8"), 將str轉換為utf-8編碼
4.數字,字串和tuple屬於不可變物件。即不能改變其值。
5.list內建函式
l=len(l)
長度在末尾增加
l.pop(any)
在末尾刪除
del l[0]
刪除max(l)
返回最大值
min(l)
返回最小值
list(l)
將元素轉換成列表
cmp(l1, l2)
比較兩個列表
l.count(obj)
統計obj出現次數
l.insert(index, obj)
在index處插入obj
l.reverse()
將列表中的元素反向
l.sort(key=func,reverse=true)
將列表排序,key為函式名,reverse為true
sorted(l)為內建排序(bif)按照字典序,l.sort為內建函式並且按照標準序
根據ascii排,具體如下:
0-9(對應數值48-59);
a-z(對應數值65-90);
a-z(對應數值97-122);
標準序: 短在前,長在後,等長的依次比字母,
如to < up < cap < cat < too < two #args為元組型別
其中*表示可變引數列表
**表示拆分關鍵字引數為字典
7.lamda a, b : a+b
8.編碼風格
使用 4 空格縮排,而非 tab。
在小縮排(可以巢狀更深)和大縮排(更易讀)之間,4空格是乙個很好的折中。tab 引發了一些混亂,最好棄用。
折行以確保其不會超過 79 個字元。
這有助於小顯示器使用者閱讀,也可以讓大顯示器能併排顯示幾個**檔案。
使用空行分隔函式和類,以及函式中的大塊**。
可能的話,注釋獨佔一行
使用文件字串
把空格放到操作符兩邊,以及逗號後面,但是括號裡側不加空格: a = f(1, 2) + g(3, 4) 。
統一函式和類命名。
推薦類名用 駝峰命名, 函式和方法名用 小寫_和_下劃線。總是用 self 作為方法的第乙個引數(關於類和方法的知識詳見 初識類 )。
不要使用花哨的編碼,如果你的**的目的是要在國際化 環境。 python 的預設情況下,utf-8,甚至普通的 ascii 總是工作的最好。
同樣,也不要使用非 ascii 字元的識別符號,除非是不同語種的會閱讀或者維護**。
9.queue模組佇列
執行緒間交換資料形式
10.內建函式式程式設計
filter(func,seq)
返回通過func為true的序列
map(func(*args),*seq)
返回通過func的序列
reduce(func,seq)
序列的前兩個先執行函式,然後返回結果與第三個執行函式,以此類推。如果序列中只有乙個元素,就返回它,如果序列是空的,就丟擲乙個異常。
可以傳入第三個引數作為初始值。如果序列是空的,就返回初始值,否則函式會先接收初始值和序列的第乙個元素,然後是返回值和下乙個元素
11.enumrate()
for i, j in enumrate(seq):
print i, j
12.zip()聚合多個長度相同的seq
13.匯入包
需要注意的是使用 from package import item 方式匯入包時,這個子項(item)既可以是包中的乙個子模組(或乙個子包),也可以是包中定義的其它命名,像函式、類或變數
14.open
用於開啟檔案
f=open(filename, mod)
f.read(size)讀取一定size的字串
f.read()
'this is the entire file.\n'
f.readline()讀取一行
會在末尾自動加\n,當讀到末尾返回空字串,讀到空行則返回'\n'
f.readlines() 返回乙個列表,其中包含了檔案中所有的資料行
這個功能通常用於高效讀取大型行檔案,避免了將整個檔案讀入記憶體
一種替代的方法是通過遍歷檔案物件來讀取檔案行。 這是一種記憶體高效、快速,並且**簡潔的方式:
for line in f:
print(line, end='')
f.write(string) 方法將 string 的內容寫入檔案,並返回寫入字元的長度,必須是字串str()
15.用with open(file) as f:
...f.close()
16.try...except遇到異常執行和try...finally一定執行
17.效能度量
from timeit import timer
timer(表示式;表示式).timeit()
18.generator迭代器
包含yield的函式都是generator
通過next或者send(msg)執行
def h():
print 'wen chuan',
m = yield 5 # fighting!
print m
d = yield 12
print 'we are together!'
c=h()
c.next()
c.send("adf")
輸出為wenchuan adf
中斷呼叫close()拋異常
19.字典dict
dict=
dict['1']=2
#修改字典
del dict['1']#刪除字典
20.檔案寫入
write(str)不會在末尾新增行結束符
writelines(seq)不會在末尾新增行結束符
所以一般通過os.linesep或者行結束符,然後write('%s%s'%(seq,os.lineseq))
21.
Python 基礎知識
來自 一 識別符號 1.python 中的識別符號是區分大小寫的。2.標示符以字母或下劃線開頭,可包括字母,下劃線和數字。3.以下劃線開頭的識別符號是有特殊意義的。以單下劃線開頭 foo 的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用 from import 而匯入 以雙下劃線開頭的...
python基礎知識
一.隨機數的生成 都需要 import random 1.用於生成乙個指定範圍內的隨機浮點數。print random.uniform 10,20 print random.uniform 20,10 2.生成乙個指定範圍內的整數。下限必須小於上限制 print random.randint 12,...
Python 基礎知識
變數 variable 基本上就是代表 或者引用 某值的名字。x 3 print語句 input語句 賦值語句 x input x y input y print x y 冪運算子 函式 pow x,y print 2 3 print pow 2,3 abs函式 求絕對值 print abs 10 ...