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中。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章