Python語言程式設計(4) 數字型別

2021-10-08 12:51:52 字數 4210 閱讀 3117

表示數字或數值的資料型別稱為數字型別。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範...