一 常用數據類型及內置法 1 列表 定義: 列表是Python中內置有序、可變序列,列表的所有元素放在一對中括弧“[]”中,並使用逗號分隔開; 當列表元素增加或刪除時,列表對象自動進行擴展或收縮記憶體,保證元素之間沒有縫隙; 在Python中,一個列表中的數據類型可以各不相同,可以同時分別為整數、實數 ...
一 常用數據類型及內置法
1 列表
定義:
- 列表是Python中內置有序、可變序列,列表的所有元素放在一對中括弧“[]”中,並使用逗號分隔開;
- 當列表元素增加或刪除時,列表對象自動進行擴展或收縮記憶體,保證元素之間沒有縫隙;
- 在Python中,一個列表中的數據類型可以各不相同,可以同時分別為整數、實數、字元串等基本類型,甚至是列表、元組、字典、集合以及其他自定義類型的對象。
[10, 20, 30, 40]
['crunchy frog', 'ram bladder', 'lark vomit']
['spam', 2.0, 5, [10, 20]]
[['file1', 200,7], ['file2', 260,9]]
方法:
2 元組
定義:
元組和列表類似,元組使用的是小括弧,列表是中括弧,但是元組不像列表那樣可以增刪改;如果列表中存在列表或字元串,那麼可以對其進行修改。但占用空間較小。
創建一個元組,只需要括弧中添加元素,元素用逗號隔開即可;或者使用tuple( , , , )。
方法:
常用方法:按索引取值、切片、長度len、in和not in、迴圈、del刪除;
擴展:
- max(tup)——返回元組最大值
- min(tup)——返回元組最小值
- 連接——'+'連接2個元組形成一個新的元組
- 重覆——'*'重覆一個元組加在末尾
3 字典
作用:在{}內,可存放多個key-value,取值速度快。
定義:key必須是不可變類型,value可以是任意類型
不可變類型:數字類型int、float,字元串類型str,元組類型tuple,改變值記憶體地址一定不一樣。
可變類型:列表list,字典dict;改變值記憶體地址不變。
聲明:dict1 = dict({'age':18,'name':Berlin}) 或 dict1 = {'age':18,'name':Berlin}。
取值:dict1['name']
存值:dict1['level'] = 10
長度len、in和not in(判斷key)、del刪除;
dict1.keys():得到字典中所有的key、dict1.values():得到字典中所有的值、dict1.items():得到字典中所有鍵值對。
迴圈:遍歷所有key
dict1.get(key, default=None): 函數返回指定鍵的值,如果值不在字典中返回預設值。較好的取值方法。
二 流程式控制制
if 判斷:
if 判斷條件:
#條件為真執行
elif 判斷條件:
#條件為真執行
else:
while 迴圈:
語法:
while 條件判斷:
#條件為真執行
break #跳出本層迴圈
continue #跳出本次迴圈,進入下次迴圈
for 迴圈
for line in range(1):
三 文件處理
open()方法:open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
- file: 必需,文件路徑(相對或者絕對路徑)。
- mode: 可選,文件打開模式
- wt:寫文本
- rt:讀文本
- at:追加文本
- 註意:必須指定字元編碼,以什麼方式寫,就應該以相應的方式打開。
- buffering: 設置緩衝
- encoding: 一般使用utf8
- errors: 報錯級別
- newline: 區分換行符
- closefd: 傳入的file參數類型
- opener:
執行python代碼的過程:
1、先啟動python解釋器,載入到記憶體中。
2、把寫好的python文件載入到解釋器中。
3、檢測python語法,執行代碼。
file 對象
文件管理之上下文管理
with可以管理open打開的文件,會在with執行完畢後自動調用close()關閉文件
with open()
例:with open('file.txt','r',encoding='utf-8') as f: #句柄
with open('file1.txt','w',encoding = 'utf-8') as f: f.write('墨菲定律') with open('file1.txt','r',encoding = 'utf-8') as f: res = f.read() print(res) with open('file1.txt','a',encoding = 'utf-8') as f: f.write('圍城') #f.close()View Code
1 with open('cxk.jpg','rb') as f: #rb/wb/ab不需要指定編碼類型 2 res = f.read() 3 print(res) 4 5 jpg = res 6 7 #把cxk.jpg的二進位流寫進cxk_w.jpg 8 with open('cxk_w.jpg','wb') as f_w: 9 f_w.write(jpg) 10 11 #with 管理多個文件 12 with open('cxk.jpg','rb') as f_r,open('cxk_w.jpg','wb') as f_w: 13 res = f_r.read() 14 f_w.write(res)對圖片、音頻、視頻讀寫
四 函數
什麼是函數?
函數是組織好的,可重覆使用的,用來實現單一,或相關聯功能的代碼段。
使用函數的好處:
1、解決代碼 餘問題
2、使代碼的結構更清晰
3、易管理
函數的使用必須遵循:先定義,後調用。
函數定義語法:
def 函數名(參數1,參數2.......):
''' 註釋:聲明函數'''
邏輯代碼
def:define定義
函數名:必須見名知意
():接收外部傳入的參數
註釋:用來指明函數的作用
return:返回調用者的值
定義函數的三種形式:
1、無參函數
不需要接收外部傳入的參數
2、有參函數
需要接收外部傳入的參數 實參賦值給形參
函數的參數:形參 實參 x、y
位置參數:實參第一位對應形參第一位
關鍵字參數:關鍵字實參:x=10,y=100,無關鍵字形參
預設參數:在定義階段為參數設置預設值
3、空函數
pass #關鍵字 代表什麼都不做
函數的記憶體地址:print(函數名)
函數的嵌套定義:在函數內部定義函數
def fun1():
#.........
def fun2():
#..............
函數對象:函數的記憶體地址稱之為函數對象。
函數的名稱空間
內置:python解釋器自帶的都稱為“內置名稱空間”。
全局:所有頂頭寫的變數、函數、迴圈等都稱之為“全局名稱空間”。
局部:在函數內部定義的,都稱為“局部名稱空間”。
名稱空間載入順序:內置>全局>局部
名稱空間查找順序:局部>全局>內置