Python學習總結-基礎篇
阿新 • • 發佈:2018-11-13
正在學習python中,收集整理下學習筆記,以供參考。本篇主要為基礎語法。
一、基礎知識
1、資料型別和變數
python是動態語言,不像java的靜態語言那樣先宣告變數的資料型別才能使用,直接對變數賦值即可
2、字元編碼
- 統一用utf-8即可變長的Unicode
其中:ord()可以獲取字元的整數表示;
chr()可以將編碼轉換為對應的字元。
- 關於格式化:
%s對應字串
%d對應整數
%f對應浮點數
%x對應十六進位制整數
3、list和tuple的區別
- list使用[]表示,tuple使用()表示;
- list稱列表是有序集合,可以隨時增加和刪除裡面的元素,有append()——追加、insert()——插入、pop()——刪除方法;
- tuple稱元祖是有序列表,一旦初始化就不能修改,沒有append()、insert()方法
4、dict和set的區別
- dict稱字典是鍵值對(key-value),可以有極快的查詢速度;一個key只能對應一個value,有get()和pop()方法,且key是不可變物件
- set稱集合是一組key的集合,沒有value,沒有重複值,有add()和remove方法
5、迴圈
- 使用for...in...
- break和continue的區別:break是提前結束當前迴圈,continue是結束本次迴圈從頭開始
6、函式
1)定義函式:
def 函式名(引數):
return ...
eg.
def my_abs(x):
if x>10:
return x
2)函式引數
- 位置引數:按照傳入的順序依次呼叫eg. power(x,n)
- 預設引數:預設引數指向不變物件eg.power(x,n=2)
- 可變引數:*args,傳入的引數個數是可變的,是個元組
- 關鍵字函式:**kwargs,擴充套件函式的功能,呼叫時除了必選引數,也可以傳入任意個關鍵字引數,是個字典
- 命名關鍵字引數:*,args,限制關鍵字引數的名字,命名關鍵字引數必須傳入引數名
3)遞迴函式
自己呼叫自己,缺點是很可能會棧溢位
尾遞迴:只在return時呼叫自己,且不含表示式
二、高階特性
1、切片[]
切片可用來取list或tuple的指定索引範圍
eg.L[0:3]指取前3個元素,從下標0開始到下標3為止,但不包括下標3
2、迭代:通過for迴圈遍歷
for...in...可以迭代list或tuple或字串
- dict迭代,一般預設迭代的是key;通過for value in d.values()可以迭代value;通過for k,v in d.items()可以迭代key和value
3、生成器和迭代器
- 生成器:是一邊迴圈一邊計算的機制
建立生成器的方法:1)將列表生成式的[]改為():eg g=(x*x for x in range(10))
2)使用yield的函式
- 迭代器:是訪問集合元素的一種方式,可以被next函式呼叫並不斷返回下一個值的物件,特點是不需要事先準備好整個迭代過程中的所有元素,僅在迭代到某個元素時才開始計算該元素,適合遍歷比較大的集合