1. 程式人生 > >Python必看的總結筆記

Python必看的總結筆記

1.在Python中,一般來說一條語句佔用一行。一條語句結束一般不需要使用C語言中的“;”,但在Python中也可以使用“;”將兩條語句寫在一行。另外,如果縮排語句中只有一條語句,也可以將其寫在“:”之後。

 

2.單引號中的字串可以包含雙引號,雙引號中的字串可以包含單引號,而不需要使用轉義字元。另外3個引號所包圍的字元可以作為註釋,還可以作為格式化的字串,該字串可以不再一行,格式化後行尾會自動轉化為“\n”轉義字元。

 

3.在Python中可以使用“\”將較長的語句分成幾行來寫,但是注意每行後面不可以有#註釋。或者可以使用圓括號將較長的語句分行,每行後面可以使用#註釋。

 

4.型別間轉換

int():可變換字串轉換為整數

float():可變換字串轉換為浮點數

str():將數字轉換為字串

hex():將整數轉換為十六進位制字串,包含字首“0x”

oct():將整數轉換為八進位制字串,包含字首“0o”

注:string模組中有string.atoi(x, base = 10),類似int(),但是可以選擇變換後的進位制。

 

5.math模組中數學函式:

sin(x)

cos(x)

asin(x)

acos(x)

tan(x)

atan(x)

hypot(x, y):求直角三角形的斜邊長度,x和y為兩個直角邊長度

fmod(x, y):求x / y的餘數,等同於x % y

ceil(x):求不小於x的最大整數

floor(x):求不大於x的最小整數

fabs(x):求x的絕對值

exp(x):求e的x次冪

pow(x, y):求x的y次冪,等同於x ** y

log10(x):求x以log10為底的對數

sqrt(x):求x的平方根

pi:求pi的值

 

6.字串操作

string.capitalize():將字串第一個字母大寫

string.count(x):獲得字串中某字串的數目

string.find(x):獲得字串中某子字串的起始位置

string.isalnum():是否僅包含0~9、A~Z、a~z

string.isalpha():是否僅包含A~Z、a~z

string.isaldigit():是否僅包含0~9

string.islower()

string.isupper()

string.lower()

string.upper()

string.isspace()

string.istitle():字串中所有單詞是否首字母大寫

string.title()

string.join(x):將string插入x中的每兩個字元之間

string.swapcase():大小寫字母轉換

string.split(x):利用分割字串的單詞(預設是space)

len(string)

 

7.格式化字串

%f

%d

%s

%o:八進位制整數

%x:十六進位制整數

注:r"xxxxx"或者R"xxxxx"表示原始字串,常用語正則表示式或者路徑表示中,其間沒有轉義字元,均是正常字元。

 

8.列表list

list.append(x):追加成員x

list.count(x):引數x出現的次數

list.extend(x):list1+list2無法改變list1,只能返回一個新的list,但是list2.extend(list2)函式可以改變list1的值

list.index(x):獲得x在list中的位置

list.insert(index, x):在index處插入x

list.pop(index):刪除索引為index的成員

list.remove(x):刪除值為x的成員

list.reverse()

list.sort()

list.clear()-

注:tuple的操作與list類似,但是不包含可修改元組的操作。

 

9.字典dict

dict.clear()

dict.copy(x):將字典x拷貝給dict

dict.get(key):等同於dict[k]

dict.has_key(key):是否包含key鍵

dict.items():獲得鍵-值對組成的列表

dict.keys():獲得鍵組成的列表

dict.values():獲得值組成的列表

dict.pop(key)

dict.update(x):利用字典x更新原字典

 

10.檔案操作

open(filename, mode, bufsize)

filename:要開啟的檔名

mode:開啟模式(r是隻讀,w是替換寫,a是追加寫,+是讀寫等)

bufsize:緩衝區大小,可以預設

file.read():整個檔案讀入字串中

file.readlines():整個檔案讀入列表中

file.readline():某行讀入字串中

file.write(x):寫入字串

file.writelines(x):寫入列表x

file.close().

 

11.函式引數

呼叫函式可以同時使用按順序傳遞引數,以及關鍵字傳遞引數等,但是必須注意按順序傳遞的引數要位於按關鍵字傳遞的引數之前,而且不能有重複的情況發生。例如:

def sample(x, y, z):

pass

mysum(1, z = 5, y = 6) #ok

mysum(z = 6, y = 7, 3) #error

使用可變長引數的函式,將其所有引數儲存在一個元組裡,在函式中可以使用for迴圈來處理,宣告一個可變長引數的函式只需用*開頭定義一個引數即可。

 

12.區域性/全域性變數

區域性作用域內的變數的改變並不影響全域性作用域內的變數,除非通過引用的方式傳遞引數。如果要在函式內使用函式外的變數,可以在變數名前使用global關鍵字。例如:

def func(x):

global a

return x + a

 

13.模組查詢路徑

匯入模組時,python直譯器首先在當前目錄中查詢匯入的模組;如果未找到,直譯器會從sys模組中的path變數指定的目錄查詢匯入模組;如果均未找到,則會出錯。

import sys

sys.path

在指令碼中可以向sys.path新增查詢路徑,例如可以在.py中如下:

import os

import sys

modulepath = os.getcwd() + ‘\\module’ #module是當前目錄下的module子目錄

sys.path.append(modulepath)

import mymodule #mymodule在module子目錄中

************

 

14.dir(x)可以獲得匯入模組中的所有定義的名字和函式等。

import sys

dir(sys)

當不使用引數時,該函式將返回當前指令碼的所有名字列表。

 

15.模組包

包可以看成是出於同一個目錄中的模組,在python中首先使用目錄名,然後再使用模組名匯入所需要的模組。在包的每個目錄(包括子目錄)中都必須包含一個“__init__.py”的檔案,該檔案甚至可以是一個空檔案,僅用於表示該目錄為一個包。

在__init__.py中設定__all__變數和包初始化所需的程式碼,可以保證在from中使用*時名字的正確匯入。

from A.B import a

import A.B.a

有了包的概念可以很好地解決模組查詢路徑的問題,只要將所有的模組放在當前目錄中的某個資料夾內(子目錄),然後在子目錄內新建一個__init__.py檔案即可,而不需將子目錄的路徑新增到sys.path中。