python語法總結

1.變量

(1)命名規則:變量名只能包含字母、數字和下劃線,並且數字不能作爲首字;變量名中不能包含空格;變量名既簡潔又具有代表性;儘量不要使用易混淆字母;大小寫字母不是一個變量;不要和python裏面的關鍵字混淆

創建變量時會根據後面的值進行類型的創建

2.字符串

字符串就是一系列字符。在python中,用單引號或者雙引號括起來的都是字符串。而在字符串裏面可以嵌套單引號或者雙引號。如,'w"w"',"w'w'"。下面的表達中將使用String作爲字符串名字,來表示字符串的函數。

(1)修改字符串的大小寫。

String.lower()    #將字符串轉爲小寫

String.upper()    #將字符串轉爲大寫

String.swapcase()    #大小寫互換

String.capitalize()    #首字母大寫

String.title()    #將每個單詞都以首字母大寫的方式展示

(2)合併(拼接)字符串

String2 = String + String1    #利用加號來合併字符串

(3)空白字符串

空白泛指任何非打印字符,如空格、製表符和換行符。

(4)刪除空白

String.rstrip()    #去掉字符串右側的多餘的空白

String.lstrip()    #去掉字符串左邊多餘的空格

String.strip()    #去掉字符串兩邊多餘的空格

上述幾個方法是去掉多餘的空格,可以把空格換成任何的字符。

(5)查找字符串

String.index(String2)    #查找String2在String中的位置,但是沒有找到字符串會報錯

String.find(String2)    #查找String2在String中的位置,沒有找到字符串會返回-1

(6)比較字符串

if String == String1:    #if-else可以作爲字符串比較函數,並且String和String1可以進行截斷比較的

String.startswith(String1,start,end)    #用於檢查字符串是否是以指定子字符串開頭,String1在String的起始檢測位置start,字符串結尾檢測位置end

String.endswith(String1,start,end)    #用於判斷字符串是否以指定後綴結尾,String1在String的起始檢測位置start,字符串結尾檢測位置end

(7)字符串長度

len(String)    #得到String字符串的長度

(8)追加字符串指定長度的字符串

String = String + String[0:2]    #

(9)翻轉字符串

String = String[::-1]    #翻轉String字符串

(10)分割字符串

String.split()    #按空格進行字符串分割

(11)連接字符串

' '.split(list)    #list是一個列表,將列表轉換爲一個字符串

(12)替換字符串

String.replace(str1,str2)    #將str1替換爲str2

(13)截取字符串

String[start:end]    #截取起始位置start到終點位置end

String[start:end:increase]    #截取起始位置start到終點位置end,並且按increase進行增加選取

(14)統計字符串出現的次數

String.count(substr,start,end)    #統計substr在String字符串出現的個數

(15)字符串的默認編碼

String.encode()    #指定的編碼格式編碼字符串

String.decode()    #指定編碼格式解碼bytes對象

(16)字符串判斷函數

String.isalnum()    #判斷字符串是否全是字母和數字

String.isalpha()    #是否全是字母

String.isdigit()    #是否全是數字

String.isspace()    #是否全是空白字符

String.istitle()    #判斷首字母是否是大寫的

3.註釋

單行註釋用#號標示

多行註釋'''或者"""之間括起來。

4.列表

列表由一系列特定順序排列的元素組成,列表中的元素沒有任何關係,用[]來表示列表。

列表是有序集合,因此要訪問列表的任何元素,只需訪問元素的位置或索引就可以訪問列表元素,例如,ret[0]。列表中第一個索引爲0,而不是1。正索引是從列表正向提取列表元素,負方向則是從列表向前提取列表元素。

(1)訪問列表元素

list1[0]    #訪問第一個元素

list1[0:1]    #訪問前2個元素

在訪問的同時就可以進行修改元素,也是按照索引方法進行修改。

(2)添加元素

list1.append()    #在列表後面添加元素

list1.extend()    #將一個列表加入到list中

list1.insert(1,'a')    #將一個元素插入到列表中,第一個參數爲插入的位置,第二個元素爲插入的元素值

list1 = list1 + list2    #使用+號可以將兩個list相加,返回一個新的list

(3)刪除元素

del list1[0]    #刪除第一個元素,按照索引進行刪除

list1.remove(1)    #刪除滿足首個符合條件的元素,是索引刪除方法,也可以刪除字符串元素的

list1.pop(1)    #刪除單個元素,刪除時會返回被刪除的元素,默認是最後一個元素。如果沒有參數就刪除list中最後一杆 元素

(4)返回數字數組最大元素值

max(lsit1)    #返回列表最大元素值

(5)返回數字數組最小元素值

min(list1)    #返回列表最小元素值

(6)數字數組之和

sum(list1)    #數值的總和

(6)返回列表的長度

len(list1)    #返回列表的長度

(7)統計個數

list1.count()    #統計某個元素在類別中出現的次數

(8)翻轉列表

list1.reverse()    #翻轉列表

(9)列表排序

list1.sort()    #按升序進行排序,同時改變list的順序

list1.sort(reserver=True)    #降序進行排序,同時改變list的順序

sorted(list1)    #按升序進行排序,並且不改變list中的順序,返回一個新的list

上述都是針對單個元素list的,下面將說明多元素的list排序

sorted(iterable, cmp, key, reverse)

iterable是進行迭代的對象,cmp是比較函數,這個具有2個參數,參數值都是從對象中取出的,並且遵守大於返回1,小於返回-1,相等則爲0。key主要來進行一個參數的排序。reverse是進行降序、升序的設定。

sorted(list1,cmp=lambda x,y:cmp(x[1],y[1]))

sorted(list1,key=lambda s:s[1])

(10)遍歷列表

使用for語句進行遍歷,如,

for word in list1:

    print(word)

(11)創建數字列表

range(start,end,iter)    #該函數能夠生成一系列的數字。從start到end-1,iter爲增加的步長

list1 = list(range(1,5))     #得到[1,2,3,4],可以寫成list1 = [word for word in range(1,5)]

(12)複製列表

list2 = list1[:]    #將list1的所有元素都賦值到list2中

(13)檢查特定值是否在列表中

if word (not) int list1:    #判斷word是否在列表中

5.元組

列表可以存儲在程序運行期間可能變化的數據集,是可以修改的。而元組可以創建一系列不可以修改的元素。數組是用[]表示,元組是用()來標識的。

可以利用list中的選擇元素的方法進行選擇元素,也可以用for來遍歷元組中的值。但是,不能改變元組的元素,可以給存儲元組的變量賦值。

6.if-else語句

if 條件1:

    語句1

elif 條件2:

    語句2

當條件1成立時,將會執行語句1,而條件1不成立時,條件2成立時,將執行語句2.

7.字典

字典是一個鍵-值對。沒個鍵都與一個值相關聯,字典用{}括起來。

字典中不允許同一個鍵出現兩次,當出現2次時,第一次的值將會被覆蓋。鍵必須不可變,所以可以用數字,字符串或元組充電,列表則不行。

(1)訪問字典中的值

dict1['name']    #將相應的鍵放入到[]中即可,而當字典中沒有鍵時會顯示錯誤信息

(2)添加鍵-值對

dict1['color'] = 'green'    #將鍵放入到[]中,而值放到等會後面。

(3)修改字典

dict1['color'] = 'red'    #只需要按索引鍵進行重新賦值就可以

(4)刪除字典元素

del dict1['color']    #刪除鍵爲color的字典元素

dict1.clear()    #清除詞典所有條目

del dict1    #刪除詞典

(5)遍歷字典

for key,value in dict1.items():    #存儲鍵-值,鍵:key,值:value

for name in dict1.keys()    #遍歷dict的所有鍵

for value in dict1.values()    #遍歷dict的所有值

(6)嵌套

字典存儲列表,如,dict_0={},dict_1={},user = [dict_0,dict_1]

字典存儲字典,如,user = {'name'={}},user = {'name'=[]}

8.輸入函數

Input()    #用戶輸入一些文本,並將文本存儲到一個變量中,該文本是以字符串形式存儲的,需要其他類型時強制轉換即可

9.while函數

while 條件1:

    語句1

當while條件成立時,將執行語句1

10.break和continue

break終止整個循環,當執行break時,將不再運行循環中餘下的代碼;

continue是跳出當次循環,繼續執行循環中的下一次循環;

11.文件

(1)讀取整個文件

open('sample.txt')    #返回一個表示文本的對象

with open('sample.txt'):    #當with出現錯誤時,都會進行對當前對象進行清理工作,而無論with中無論出現任何錯誤,都會執行close方法

常見open打開文本的讀寫方法:

    w以寫方法打開

    a以追加的模式打開

    w+以讀寫模式打開

    r+以讀寫模式打開

os.listdir(dir)    #獲得單個目錄結點的子結點

file.write()    #寫入文件

file.close()    #關閉文件

open('sample.txt').readline()    #基於行的讀寫


12.numpy函數彙總

numpy.ndim    #獲取數組的行數

numpy.shape[0]    #獲得數組的第一維長度,就是行的個數

numpy.shape[1]    #獲取數組的第二維長度,就是列的個數

numpy.nditer(a,op_flags=['readwrite])    #迭代數組a,就是訪問a數組中的元素,默認情況下是隻讀模式,爲了方便對數組修改,需要制定readwrite模式。

numpy.random.random((2,3))    #隨機矩陣進行初始化,值的範圍是-1到1之間

numpy.random.uniform(low,high,size)    #從一個均勻分佈[low,high)中隨機採樣,size爲樣本數目,爲int或者元組。如下圖所示。


numpy.shape    #輸出array的大小

repr(obj)    #將obj對象轉換爲供解釋器讀取的形式,返回一個string類型

numpy.hstack(tup)    #參數tup可以是元組,列表或者numpy數組,返回結果爲numpy數組。按照水平(按列)順序把數組給疊加起來

nmpy.vstack(tup)    #參數tup可以是元組,列表或者numpy數組,返回結果爲numpy數組。按照水平(按行)順序把數組給疊加起來

numpy[:,0]    #是取出numpy二維數組中第一維度中的所有數據,組成一下新的numpy

numpy[:,1]    #是取出numpy二維數組中第二維度中的所有數據,組成一下新的numpy

numpy[:,0:1]    #是取出numpy二維數組中第一、第二列的所有數據,組成一下新的numpy

numpy.array([image_list,label_list])    將2個numpy生成一個新的numpy,生成的格式如下[[image_list[0],image_list[1]] [label_list[0],label_list[1]]

numpy.transpose()    #矩陣轉置(numpy.T)

numpy.random.shuffle(temp)    #打亂temp的順序

numpy.arange(start,end,plus)    #從start到end,然後按步長增加

numpy.arange(15).reshape(3,5)    #從0到14一共15個數,生成3*5的矩陣

numpy.zeros((3,4),dtype=np.int32)    #生成3*4的0矩陣,並且默認的值是float類型。可以通過dtype可以設置值的類型

numpy.linspace(start,end,num)    #從start到end中平均找到num個數字,會自動進行平均計算

numpy.dot(A,B)    #矩陣進行相乘(等於A.dot(B)),A*B是進行內機相乘

numpy.exp(B)    #求B的e的次方的值

numpy.sqrt(B)    #求B的平方根矩陣

numpy.floor(B)    #向下取整

B.ravel()    #將矩陣進行拉長,轉換爲1*n的

B.shape = (6,2)    #轉換爲6*2矩陣

numpy.hsplit(B,num)    #將矩陣B平均的切成num份,按列進行切分

numpy.hsplit(B,(num1,num2))    #將矩陣B按照num1、num2進行切分

numpy.vsplit(a, num)    #將矩陣B平均的切成num份,按行進行切分

B.view()    #進行B矩陣的淺複製 

A=B.copy()    #B是A的一個初始化,A和B可以進行各自操作

B.argmax(axis=0)    #返回矩陣中每列的最大值的index,axis=1表示按行進行查找

numpy.tile(B,(num1,num2))    #將B矩陣進行復制,擴充到num1*num2 

numpy.sort(B,axis=1)    #B進行按行排序

numpy.argsort()    #索引排序

13.pands

主要是用來數據預處理方面

info = pands.read_csv()     #讀取csv文件

info.dtypes    #會打印每個列的類型

info.head(num)    #顯示出num條數據

info.tail(num)    #顯示最後的num條數據

info.columns    #打印出列的名字

info.shape    #打印出數據的條數及列數

info.loc[num]    #打印出第num條數據

info.columns.tolist()    #將列轉換爲list

info.sort_values(string, inplace=True,ascending=True)    #按照string列進行排序,inplace表示新生成一個dataframe,ascending進行升降序。

info['age'].mean()    #求age列的平均值



參考文獻:

https://www.cnblogs.com/hanmolabi/p/8179765.html

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