1.在Python中,一般來說一條語句占用一行。一條語句結(jié)束一般不需要使用C語言中的“;”,但在Python中也可以使用“;”將兩條語句寫在一行。另外,如果縮進(jìn)語句中只有一條語句,也可以將其寫在“:”之后。
2.單引號中的字符串可以包含雙引號,雙引號中的字符串可以包含單引號,而不需要使用轉(zhuǎn)義字符。另外3個引號所包圍的字符可以作為注釋,還可以作為格式化的字符串,該字符串可以不再一行,格式化后行尾會自動轉(zhuǎn)化為“\n”轉(zhuǎn)義字符。
3.在Python中可以使用“\”將較長的語句分成幾行來寫,但是注意每行后面不可以有#注釋。或者可以使用圓括號將較長的語句分行,每行后面可以使用#注釋。
4.類型間轉(zhuǎn)換
int():可變換字符串轉(zhuǎn)換為整數(shù)
float():可變換字符串轉(zhuǎn)換為浮點(diǎn)數(shù)
str():將數(shù)字轉(zhuǎn)換為字符串
hex():將整數(shù)轉(zhuǎn)換為十六進(jìn)制字符串,包含前綴“0x”
oct():將整數(shù)轉(zhuǎn)換為八進(jìn)制字符串,包含前綴“0o”
注:string模塊中有string.atoi(x, base = 10),類似int(),但是可以選擇變換后的進(jìn)制。
5.math模塊中數(shù)學(xué)函數(shù):
sin(x)
cos(x)
asin(x)
acos(x)
tan(x)
atan(x)
hypot(x, y):求直角三角形的斜邊長度,x和y為兩個直角邊長度
fmod(x, y):求x / y的余數(shù),等同于x % y
ceil(x):求不小于x的最大整數(shù)
floor(x):求不大于x的最小整數(shù)
fabs(x):求x的絕對值
exp(x):求e的x次冪
pow(x, y):求x的y次冪,等同于x ** y
log10(x):求x以log10為底的對數(shù)
sqrt(x):求x的平方根
pi:求pi的值
6.字符串操作
string.capitalize():將字符串第一個字母大寫
string.count(x):獲得字符串中某字符串的數(shù)目
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():大小寫字母轉(zhuǎn)換
string.split(x):利用分割字符串的單詞(默認(rèn)是space)
len(string)
7.格式化字符串
%f
%d
%s
%o:八進(jìn)制整數(shù)
%x:十六進(jìn)制整數(shù)
注:r"xxxxx"或者R"xxxxx"表示原始字符串,常用語正則表達(dá)式或者路徑表示中,其間沒有轉(zhuǎn)義字符,均是正常字符。
8.列表list
list.append(x):追加成員x
list.count(x):參數(shù)x出現(xiàn)的次數(shù)
list.extend(x):list1+list2無法改變list1,只能返回一個新的list,但是list2.extend(list2)函數(shù)可以改變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:緩沖區(qū)大小,可以默認(rèn)
file.read():整個文件讀入字符串中
file.readlines():整個文件讀入列表中
file.readline():某行讀入字符串中
file.write(x):寫入字符串
file.writelines(x):寫入列表x
file.close().
11.函數(shù)參數(shù)
調(diào)用函數(shù)可以同時使用按順序傳遞參數(shù),以及關(guān)鍵字傳遞參數(shù)等,但是必須注意按順序傳遞的參數(shù)要位于按關(guān)鍵字傳遞的參數(shù)之前,而且不能有重復(fù)的情況發(fā)生。例如:
def sample(x, y, z):
pass
mysum(1, z = 5, y = 6) #ok
mysum(z = 6, y = 7, 3) #error
使用可變長參數(shù)的函數(shù),將其所有參數(shù)保存在一個元組里,在函數(shù)中可以使用for循環(huán)來處理,聲明一個可變長參數(shù)的函數(shù)只需用*開頭定義一個參數(shù)即可。
12.局部/全局變量
局部作用域內(nèi)的變量的改變并不影響全局作用域內(nèi)的變量,除非通過引用的方式傳遞參數(shù)。如果要在函數(shù)內(nèi)使用函數(shù)外的變量,可以在變量名前使用global關(guān)鍵字。例如:
def func(x):
global a
return x + a
13.模塊查找路徑
導(dǎo)入模塊時,python解釋器首先在當(dāng)前目錄中查找導(dǎo)入的模塊;如果未找到,解釋器會從sys模塊中的path變量指定的目錄查找導(dǎo)入模塊;如果均未找到,則會出錯。
import sys
sys.path
在腳本中可以向sys.path添加查找路徑,例如可以在.py中如下:
import os
import sys
modulepath = os.getcwd() + ‘\\module’ #module是當(dāng)前目錄下的module子目錄
sys.path.append(modulepath)
import mymodule #mymodule在module子目錄中
************
14.dir(x)可以獲得導(dǎo)入模塊中的所有定義的名字和函數(shù)等。
import sys
dir(sys)
當(dāng)不使用參數(shù)時,該函數(shù)將返回當(dāng)前腳本的所有名字列表。
15.模塊包
包可以看成是出于同一個目錄中的模塊,在python中首先使用目錄名,然后再使用模塊名導(dǎo)入所需要的模塊。在包的每個目錄(包括子目錄)中都必須包含一個“__init__.py”的文件,該文件甚至可以是一個空文件,僅用于表示該目錄為一個包。
在__init__.py中設(shè)置__all__變量和包初始化所需的代碼,可以保證在from中使用*時名字的正確導(dǎo)入。
from A.B import a
import A.B.a
有了包的概念可以很好地解決模塊查找路徑的問題,只要將所有的模塊放在當(dāng)前目錄中的某個文件夾內(nèi)(子目錄),然后在子目錄內(nèi)新建一個__init__.py文件即可,而不需將子目錄的路徑添加到sys.path中。