表示數字或數值的資料型別稱為數字型別。python 內建的數字型別有整型(int)、浮點型(float)、複數型別( complex),它們分別對應數學中的整數、小數和複數,此外,還有一種比較特殊的整型——布林型別(bool)。下面針對python中的這4種數字型別分別進行講解。
1.整型
類似-2、-1.0、1. 2這樣的資料稱為整型資料(簡稱整數)。在python中可以使用4種進製表示整型,分別為二進位制(以「0b」或「0b」 開頭)、八進位制(以「0o」或「00」開頭)十進位制表示整型,分別為二進位制(以「0b」 或「0b」開頭)、八進位制(以「0o」或「00」開頭)、十進位制(預設表示方式)和十六進製制(以「0x」 或「0x" 開頭)。例如,使用二進位制、八進位制和十六進製制表示十進位制的整數10的示例**具體如下:
0b1010
#二進位制
0012
#八進位制
0xa#十六進製制
2.浮點型
類似1.1. 0.5、-1.4、3.12e2這樣的資料被稱為浮點型資料。浮點型資料用於儲存帶有小數點的數值,python 的浮點數一般以十進位制形式表示,對於較大或較小的浮點數,可以使用科學計數法表示。例如:
num_one =
3.14
# 十進位制形式表示
num_two =
2e2# 科學計數法表示(2*102,即200,e表示底數10)
num_third =2e-
2# 科學計數法表示(2*10-2, 即0.02,e表示底數10)
3.複數型別
類似3+2j、3.1+4.9j、-2.3-1.9j 這樣的資料被稱為複數,python 中的複數有以下3個特點:
(1)複數由實部和虛部構成,其一般形式為real+imagj。
(2)實部real和虛部的imag都是浮點型。
(3)虛部必須有字尾j或j。
在python中有兩種建立複數的方式:一種是按照複數的一般形式直接建立;另一種是通過內建函式complex)建立。例如:
num_one =3+
2j# 按照複數格式使用賦值運算子直接建立
num_two =
complex(3
,2)# 使用內建函式complex ()函式建立
4.布林型別
python中的布林型別( bool)只有兩個取值: true和false。實際上布林型別是一種特殊的整型,其中true對應的整數為1,false對應的整數為0。python中的任何物件都可以轉換為布林型別,若要進行轉換,符合以下條件的資料都會被轉換為false。
(1)none;
(2)任何為0的數字型別,如0、0.0、0j;
(3)任何空序列,如』』』』、()、;
(4)任何空字典,如{};
(5)使用者定義的類例項,如類中定義了__bool__()或者__len__()。
除以,上物件外,其他的物件都會被轉換為true。
可以使用bool()函式檢測物件的布林值。例如:
>>
>
bool
(none
)false
>>
>
bool(0
)false
>>
>
bool([
])false
>>
>
bool(2
)true
上機練習1
練 習 根據身高體重計算bmi指數
需求說明
bmi指數即身體質量指數,是目前國際常用的衡量人體胖瘦程度以及是否健康的乙個標準。
bmi指數計算公式如下:
體質指數(bmi)=體重(kg) ÷ (身高2)(m)
編寫程式,實現根據輸人的身高體重計算bmi值的功能。
【參考**】 根據身高體重計算bmi指數.py
height =
float
(input
('請輸入您的身高(m):'))
weight =
float
(input
('請輸入您的體重(kg):'))
bmi = weight /
(height * height)
print
('您的bmi值為:'
,bmi)
python內建了一系列可實現強制型別轉換的函式,保證使用者在有需求的情況下,將目標資料轉換為指定的型別。數字間進行轉換的函式有int()、float()、str()關於這些麗數的功能說明如表1所示。
表1 型別轉換函式的功能說明函式
說明int()
將浮點型、布林型別和符合數值型別規範的字串轉換為整型
float()
將整型和符合數值型別規範的字串轉換為浮點型
str()
將數值型別轉換為字串
表1中介紹了型別轉換函式的使用說明,下面,通過**演示這些函式的使用方法,具體如下:
>>
>
int(
3.6)
#浮點型轉整型,小數部分被截斷
3>>
>
float(3
)#整型轉浮點型
3.0
掌握以上函式後,想對兩個符合數值型別格式的字元單資料進行算術運算就非常簡單。例如,對兩個符合數值型別格式的字串進行求和運算,示例**如下:
>>
> str_01=
"2">>
> str_02=
"5">>
>
sum=
int(str_01)
+int
(str_02)
>>
>
print
(sum
)7
以上**將字串str_01和str_02中儲存的字串轉換為整型,並進行求和計算,列印計算結果「7」。
值得一提的是,在經過以上操作後,str_01和str_02仍為字串,這是因為,使用int()轉換的結果只是乙個臨時物件,並未被儲存。如果通過type()函式測試str_01、str_02和sum的型別,獲得的結果如下:
>>
>
type
(str_01)
<
type
'str'
>
>>
>
type
(str_02)
<
type
'str'
>
>>
>
type
(sum
)<
type
'int'
>
在使用型別轉換函式時有兩點需要注意:
(1) int()函式、float()函式只能轉換符合數字型別格式規範的字串。
(2) 使用int()函式將浮點數轉換為整數時,若有必要會發生截斷(取整),而非四舍五人。
使用者在使用型別轉換函式時,必須考慮到以上兩點,否則可能會因字串不符合要求而導致在轉換時產生錯誤,或因截斷而產生預期之外的計算結果。
例項2:模擬超市收銀抹零行為
在商店買東西時,可能會遇到這樣的情況:挑選完商品進行結算時,商品的總價可能會帶有0.1元或0.2元的零頭,商店老闆在收取現金時經常會將這些零頭抹去。
本例項要求編寫程式,模擬實現超市收銀抹零行為。
total_money =
36.15
+23.01
+25.12
# 累加總計金額
total_money_str =
str(total_money)
# print('商品總金額為:' + total_money_str + '元')
print
('商品總金額為:'
, total_money,
'元')
pay_money =
int(total_money)
# 進行抹零處理
pay_money_str =
str(pay_money)
print
('實收金額為:'
+ pay_money_str +
'元')
超全面的測試it技術課程,0元立即加入學習!有需要的朋友戳: 《Python核心程式設計》數字型別
python中的浮點型相似c中的double型,是雙精度浮點型。占用64位。python中的複數型別規定 acomplex 1.0 2.0j acomplex.real 1.0 acomplex.imag 2.0 acomplex.conjugate 1 2j 自己主動型別轉換 當對兩個不同型別的數...
python數字型別 python數字型別
在python中,資料採用了物件的形式 無論是python內建物件還是使用python工具和像c語言自行建立的物件 python數字型別工具 整數和浮點數 複數固定精度的十進位制數 有理分數 集合布林型別 無窮的整數型別 各種數字內建函式和模組 python數字型別在程式中的顯示方式之一是作為常量 ...
python數字型別 Python數字型別有哪些
python中數字型別有分為如下幾種型別 整型 int 長整型 long 浮點型 float 複數型 complex python是一種弱型別語言,所以變數都是不需要提前宣告,可以直接拿來使用。1 整型int表示的範圍是 2147483648到2147483647,如12,600,120等。int範...