python變量與數據結構

python的IDLE常用快捷鍵

F1	打開 Python 幫助文檔	Python文件窗口和Shell 均可用
Alt+P	瀏覽歷史命令(上一條)	僅 Python Shell 窗口可用
Alt+N	瀏覽歷史命令(下一條)	僅 Python Shell 窗口可用
Alt+/	自動補全前面曾經出現過的單詞,如果之前有多個單詞具有相同前綴,可以連續按下該快捷鍵,在多個單詞中間循環選擇	Python 文件窗口和 Shell 窗口均可用
Alt+3	註釋代碼塊	僅 Python 文件窗口可用
Alt+4	取消代碼塊註釋	僅 Python 文件窗口可用
Alt+g	轉到某一行	僅 Python 文件窗口可用
Ctrl+Z	撤銷一步操作	Python 文件窗口和 Shell 窗口均可用
Ctrl+Shift+Z	恢復上—次的撤銷操作	Python 文件窗口和 Shell 窗口均可用
Ctrl+S	保存文件	Python 文件窗口和 Shell 窗口均可用
Ctrl+]	縮進代碼塊	僅 Python 文件窗口可用
Ctrl+[	取消代碼塊縮進	僅 Python 文件窗口可用
Ctrl+F6	重新啓動 Python Shell	僅 Python Shell 窗口可用

python註釋

單行註釋:# 註釋內容
說明多行代碼的功能時一般將註釋放在代碼的上一行。
說明單行代碼的功能時一般將註釋放在代碼的右側。

多行註釋:使用三個連續的單引號'''或者三個連續的雙引號"""

‘’‘
	註釋內容
’‘’

或者

“”“
	註釋內容
”“”

python編碼規範

python編碼規範:PEP 8
python標識符命名規範

標識符是由字符(A~Z 和 a~z)、下劃線和數字組成,但第一個字符不能是數字。
標識符不能和 Python 中的保留字相同。有關保留字,後續章節會詳細介紹。
Python中的標識符中,不能包含空格、@、% 以及 $ 等特殊字符。
標識符中的字母是嚴格區分大小寫的。
以單下劃線開頭的標識符(如 _width),表示不能直接訪問的類屬性,其無法通過 from...import* 的方式導入。
以雙下劃線開頭的標識符(如__add)表示類的私有成員。
以雙下劃線作爲開頭和結尾的標識符(如 __init__),是專用標識符。

允許使用漢字作爲標識符但不提倡。

當標識符用作模塊名時,應儘量短小,並且全部使用小寫字母,可以使用下劃線分割多個字母,例如 game_mian、game_register 等。
當標識符用作包的名稱時,應儘量短小,也全部使用小寫字母,不推薦使用下劃線,例如 com.mr、com.mr.book 等。
當標識符用作類名時,應採用單詞首字母大寫的形式。例如,定義一個圖書類,可以命名爲 Book。
模塊內部的類名,可以採用 "下劃線+首字母大寫" 的形式,如 _Book;
函數名、類中的屬性名和方法名,應全部使用小寫字母,多個單詞之間可以用下劃線分割;
常量命名應全部使用大寫字母,單詞之間可以用下劃線分割;

python變量

python是弱類型語言,變量具有兩個特點:

變量無須聲明就可以直接賦值,對一個不存在的變量賦值就相當於定義了一個新變量。
變量的數據類型可以隨時改變,比如,同一個變量可以一會兒被賦值爲整數,一會兒被賦值爲字符串。

python中多種進製表示整數

十進制
二進制:0B0b開頭
八進制:0O或0o開頭
十六進制:0X或者0x開頭

Python 3.x 允許使用下劃線_作爲數字(包括整數和小數)的分隔符。

python中小數的兩種形式

十進制:6.666.0(書寫時必須包含一個小數點)
指數形式:aen或者aEn    # a 爲尾數部分,是一個十進制數;n 爲指數部分,是一個十進制整數;E或e是固定的字符,用於分割尾數部分和指數部分。整個表達式等價於 a×10n。

Python 只有一種小數類型,就是 float

Python 語言本身支持複數

a+bj //a爲實部,b爲虛部

python字符串

字符產必須由雙引號“”或單引號’‘包圍。

幾種特殊情況
1.字符串內容出現引號
處理方法:
(1)對引號進行轉義,添加\即可。
(2)使用不同的引號包圍字符串即可。
2.字符串換行
在行尾添加\即可。
3.長字符串
三個雙引號"""或者三個單引號'''包圍即可

如果長字符串沒有賦值給任何變量,那麼這個長字符串就不會起到任何作用,和一段普通的文本無異,相當於被註釋掉了。
4.原始字符串
在字符串開頭加上r即可(常用於Windows文件的路徑字符串)

python字符串編碼

字符集定義了字符和二進制的對應關係,爲每個字符分配了唯一的編號。可以將字符集理解成一個很大的表格,它列出了所有字符和二進制的對應關係,計算機顯示文字或者存儲文字,就是一個查表的過程;
而字符編碼規定了如何將字符的編號存儲到計算機中,要知道,有些字符編碼(如 GB2312 和 GBK)規定,不同字符在存儲時所佔用的字節數是不一樣的,因此爲了區分一個字符到底使用了幾個字節,就不能將字符的編號直接存儲到計算機中,字符編號在存儲之前必須要經過轉換,在讀取時還要再逆向轉換一次,這套轉換方案就叫做字符編碼。

Unicode 字符集可以使用的編碼方案有三種,分別是:
UTF-8:一種變長的編碼方案,使用 1~6 個字節來存儲;
UTF-32:一種固定長度的編碼方案,不管字符編號大小,始終使用 4 個字節來存儲;
UTF-16:介於 UTF-8 和 UTF-32 之間,使用 2 個或者 4 個字節來存儲,長度既固定又可變。

Python 3.x 中,字符串默認採用的是 Unicode 字符集的utf-8編碼方案

python bytes類型及用法

bytes串以字節爲單位進行操作
string以字符爲單位進行操作
bytes 只是簡單地記錄內存中的原始數據,bytes 類型的數據非常適合在互聯網上傳輸,可以用於網絡通信編程;bytes 也可以用來存儲圖片、音頻、視頻等二進制格式的文件。

string轉化爲bytes的方法:
1.如果字符串的內容都是 ASCII 字符,那麼直接在字符串前面添加b前綴就可以轉換成 bytes2.bytes 是一個類,調用它的構造方法,也就是 bytes(),可以將字符串按照指定的字符集轉換成bytes;如果不指定字符集,那麼默認採用 UTF-83.字符串本身有一個 encode() 方法,該方法專門用來將字符串按照指定的字符集轉換成對應的字節串;如果不指定字符集,那麼默認採用 UTF-8。

示例:
b=bytes()
b1=b''
b3=bytes(string,encoding='UTF-8')

python類型轉化

int(x)	將 x 轉換成整數類型
float(x) 將 x 轉換成浮點數類型
complex(real,[,imag]) 創建一個複數
str(x)	將 x 轉換爲字符串
repr(x)	將 x 轉換爲表達式字符串
eval(str)	計算在字符串中的有效 Python 表達式,並返回一個對象
chr(x)	將整數 x 轉換爲一個字符
ord(x)	將一個字符 x 轉換爲它對應的整數值
hex(x)	將一個整數 x 轉換爲一個十六進制字符串
oct(x)	將一個整數 x 轉換爲一個八進制的字符串

python數據結構

與序列相關的內置函數

len()	計算序列的長度,即返回序列中包含多少個元素。
max()	找出序列中的最大元素。注意,對序列使用 sum() 函數時,做加和操作的必須都是數字,不能是字符或字符串,否則該函數將拋出異常,因爲解釋器無法判定是要做連接操作(+ 運算符可以連接兩個序列),還是做加和操作。
min()	找出序列中的最小元素。
list()	將序列轉換爲列表。
str()	將序列轉換爲字符串。
sum()	計算元素和。
sorted()	對元素進行排序。
reversed()	反向序列中的元素。
enumerate()	將序列組合爲一個索引序列,多用在 for 循環中。

list

創建列表

1.使用[]直接創建
2.使用list()函數創建

訪問列表元素

1.使用索引訪問單個元素 []
2.使用切片訪問一組元素 [start:end:step]

刪除列表

del

list添加元素的三種方法

1.append() #用於在末尾添加元素
2.extend() #用於添加元素到末尾,extend() 和 append() 的不同之處在於:extend() 不會把列表或者元祖視爲一個整體,而是把它們包含的元素逐個添加到列表中。
insert(index,obj) #在index位置添加obj元素

list刪除元素四種方法

1.del listname[] #根據索引值刪除元素
2.pop(index) #根據索引刪除元素,如果不寫 index 參數,默認會刪除列表中的最後一個元素,類似於數據結構中的“出棧”操作
3.remove() #根據元素值進行刪除
4.clear() #刪除所有元素

list修改元素兩種方法

1.修改單個元素,通過[],直接賦值
2.通過切片,賦值一組元素

list查找元素

1.index(obj,start,end)
2.count(obj) #統計某個元素在列表中出現的次數

tuple

創建元組

1.()創建
2.tuple(data)創建

其他和列表類似。

只能創建一個新的元組去替代舊的元組。

dict

創建dict

1.使用{}
2.通過fromkeys()

set

python深拷貝與淺拷貝

淺拷貝:重新分配一塊內存,創建一個新的對象,裏面的元素是原對象中的各個子對象的引用
深拷貝:重新分配一塊內存,創建一個新的對象,並且將原對象中的元素,以遞歸的方式,通過創建新的子對象拷貝到新對象中,對象和原對象沒有任何關聯。

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