Python的六種標準類型
程序存儲數據是需要變量,變量的值可以通過變量名訪問的,而變量在內部是有類型的。
Python是弱類型語言,不需要聲明變量類型。
Python變量必須要賦值,只有賦值變量纔會被創建。
1、數值型
Python的數值類型只有Int整型和Float浮點型
-
整型
整型是沒有小數點的數字。包括負整數、0、正整數
書寫形式
>>> my_int=1 >>> type(my_int) <class 'int'>
-
浮點型
浮點型是有小數點的數字,需注意,兩個數做除法,結果一定是浮點型。
書寫形式
#十進制的浮點數 >>> my_float=1.0 >>> type(my_float) <class 'float'> #指數型的浮點數,底數無論是整數還是浮點數,生成的結果都是浮點數 >>> my_float=20E5 >>> my_float 2000000.0
精確運算浮點數
>>> 10/3 3.3333333333333335 >>> from decimal import Decimal >>> Decimal(10)/Decimal(3) Decimal('3.333333333333333333333333333')
2、字符串
若干字符的集合就是字符串,用來表示英文、中文等等文字
Python默認的字符編碼1是UTF-8
-
短字符串
書寫形式
>>> my_shortStr='哈哈' #單引號 >>> my_shortStr="哈哈" #雙引號
-
長字符串
書寫形式
>>> my_longStr=""" 我 喜 歡 """ >>> print(my_longStr) 我 喜 歡
-
原字符串
由於轉義符2的存在,字符會失去原本的意義,Python用r’'保持字符原本意義。
字符串含有遇到 \ 轉義符號,請使用原字符號書寫形式
C:\Users\Admin\Desktop\筆記
>>> my_str='C:\Users\Admin\Desktop\筆記' SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape >>> my_str=r'C:\Users\Admin\Desktop\筆記'
-
換行字符串
書寫形式
>>> my_lineStr="呦呦呦"\ "haha" >>> my_lineStr #\+換行連接兩個字符串 '呦呦呦haha' >>> my_lineStr="喲喲\ 哈哈哈" >>> my_lineStr #\+換行連接一個字符串 '喲喲哈哈哈' >>> my_num = 1 + \ 2 >>> my_num # \+換行連接表達式,\前面必須是運算符 3
3、Bytes
字節串和字符串很相似,字符串的方法,字節串都使用。
兩者區別:1、字節串是以字節爲單位,字符串是根據編碼方案決定的,如是UTF-8,那麼就是可變長的單位
2、字節串只是簡單記錄內存的原始數據。而字符串是默認使用Unicode字符集編碼存儲對應的編號,讀取時又自動把編號轉換成字符串顯示出來。當然字符串把可以編號存在字節串中,但是讀取字節串時,需要手動指定解碼,不是自動了。
#這裏演示字符串轉換成字節串,也就是把字符串編碼存儲在字節串
>>> my_bytes=b'http://www.baidu.com' # 字符串是ASCII字符集裏的,直接用b''
>>> my_bytes = b'I是誰' # 字符串中存在不是ASCII字符集的,用b''報錯
SyntaxError: bytes can only contain ASCII literal characters.
>>> print('讀取單個字符%s;讀取整個字符串%s' %(my_bytes[0:1],my_bytes[:] ))
讀取單個字符b'h';讀取整個字符串b'http://www.baidu.com'
#UTF-8編號存儲在Bytes字節串中
>>> my_bytes = bytes('I是誰'.encode(‘UTF-8’))
>>> print(my_bytes.decode('utf-8‘))
I是誰
3、列表
4、元組
5、Set集合
6、字典
字符編碼的作用是如何把字符編號存儲到計算機中,Python使用的是UTF-8變長的編碼方案。 另外,UTF-8編碼使用的是Unicode字符集(字符集定義了字符和二進制的對應關係,爲每個字符分配了唯一的編號),因爲Unicode字符集編碼方案有UTF-8、UTF-16、UTF-32三種。 ↩︎
用編號間接表示字符的轉義符,字符是屬於ASCII字符集。例如最大的八進制\077表示?,十六進制\x64表示@。另外,ASCII字符集127個字符,用八進制無法表達完,\0代表八進制,後面只允許兩位數。
但是,爲了方便記憶,使用了特殊字符代表了常用的轉義符。例如\n 換行符、\r 回車符、\t 水平製表符、’ 單引號、" 雙引號等 ↩︎