第二天 第二章 基本資料型別
一、數字型別
在python中,數字型別主要包括整數、浮點數和複數。
1. 整數包括正整數、負整數和0。
整數型別包括十進位制、八進位制、十六進位制和二進位制。
a. 十進位制整數:不能以0開關,如果數值特別大,會在末尾自動加L或l。
b. 八進位制整數:由0-7組成,以0o或0O開關,進位規則為“逢八進一”。 注:python2.x中,可以以0開頭。
c. 十六進位制整數:由0-9、A-F組成,進位規則為“逢十六進一”,以0x或0X開頭。
d. 二進位制整數:由0和1組成,進位規則為“逢二進一”
2.浮點數由整數部分和小數部分組成。
3. 複數和數學中的形式一致,由實部和虛部組成,並且使用j或J表示虛部。表示:3.15+5.69j
二、字串型別
1. 字串就是連續的字元序列,屬於不可變序列,使用單引號、雙引號或三引號括起來。
2. 字串還支援轉義字元。所謂轉義字元是指使用反斜槓“\”對一些特殊字元進行轉義。
轉義字元 | 說明 |
\ | 續行符 |
\n | 換行符 |
\0 | 空 |
\t | 水平製表符、用於橫向跳到下一製表位 |
\“ | 雙引號 |
\' | 單引號 |
\\ | 一個反斜槓 |
\f | 換頁 |
\0dd | 八進位制數,dd代表字元,如\012代表換行 |
\xhh | 十六進位制數,hh代表字元,如\x0a代表換行 |
注:在字串定界符前加上字母r或R,那麼該字元將原樣輸出。如:r"第一行\n第二行",將輸出:第一行\n第二行,其中的\n不再轉義成換行。
三、布林型別
布林值有真和假兩種,True為真,False為假。可以轉化為數值,True表示1,False表示0。
所有物件都可以進行真值測試。只有以下的情況得到的值為假,其它情況都為真:
a. False或None
b. 數值中的零,包括0、0.0、虛數0。
c. 空序列,包括字串、空元組、空列表、空字典。
d. 自定義物件的例項,該物件的__bool__方法返回False或者__len__方法返回0。
四、資料型別轉換
函式 | 作用 |
int(x) | 將x轉換成整數型別 |
float(x) | 將x轉換成小數型別 |
complex(real[,imag]) | 建立一個複數 |
str(x) | 將x轉換為字串 |
repr(x) | 將x轉換為表示式字串 |
eval(str) | 計算在字串中的有效python表示式,並返回一個物件 |
char(x) | 將整數x轉換為一個字元 |
ord(x) | 將一個字元x轉換為它對應的整數值 |
hex(x) | 將一個整數x轉換為一個十六進位制字串 |
oct(x) | 將一個整數x轉換為一個八進位制字串 |
例:模擬超市抹零結賬
money_all=56.75+72.91+88.50+26.37+68.51 money_str=str(money_all) print('商品實際金額為:', money_str) money_real=int(money_all) money_real=str(money_real) print('商品優惠金額為:', money_real)
常見錯誤:如果把一個非數字字串轉換為整型將產生錯誤:int('17天') #ValueError: invalid literal for int() with base 10: '17天'