【Python 1-6】Python教程之——數(shù)字

作者:弗拉德
公眾號:fulade_me

數(shù)字是一種用來表示數(shù)的書寫符號:
中文數(shù)字寫作三十七、卅七
羅馬數(shù)字寫作XXXVII
阿拉伯?dāng)?shù)字二進(jìn)制寫作100101

文章首發(fā)地址

數(shù)字

在編程中,經(jīng)常使用數(shù)字來記錄游戲得分、表示可視化數(shù)據(jù)、存儲Web應(yīng)用信息等。Python 根據(jù)數(shù)字的用法以不同的方式處理它們。我們平時最常見的就是整數(shù),下面就先來看看Python是如何管理整數(shù)的。

整數(shù)

在Python中,可對整數(shù)執(zhí)行加+-*/運(yùn)算。

>>> 2 + 3 
5
>>> 3 - 2 
1
>>> 2 * 3 
6
>>> 3 / 2 
1.5

在終端(命令行)會話中,Python直接返回運(yùn)算結(jié)果。Python使用兩個乘號表示乘方運(yùn)算:

>>> 3 ** 2 
9
>>> 3 ** 3 
27
>>> 10 ** 6 
1000000

Python還支持運(yùn)算次序,因此你可在同一個表達(dá)式中使用多種運(yùn)算。當(dāng)然我們也可以使用括號來修改運(yùn)算次序,讓Python按你指定的次序執(zhí)行運(yùn)算,如下所示:

>>> 2 + 3*4
14
>>> (2 + 3) * 4 
20
浮點(diǎn)數(shù)

Python將帶小數(shù)點(diǎn)的數(shù)字都稱為浮點(diǎn)數(shù)。大多數(shù)編程語言都使用了這個術(shù)語,它指出了這樣 一個事實(shí):小數(shù)點(diǎn)可出現(xiàn)在數(shù)字的任何位置。
每種編程語言都須細(xì)心設(shè)計(jì),以妥善地處理浮點(diǎn)數(shù), 確保不管小數(shù)點(diǎn)出現(xiàn)在什么位置,數(shù)字的行為都是正常的。
從很大程度上說,使用浮點(diǎn)數(shù)時都無需考慮其行為。你只需輸入要使用的數(shù)字,Python通常都會按你期望的方式處理它們:

>>> 0.1 + 0.1
0.2
>>> 0.2 + 0.2 9 0.4
>>>2 * 0.1
0.2
>>>2 * 0.2
0.4

但需要注意的是,結(jié)果包含的小數(shù)位數(shù)可能是不確定的:

>>> 0.2 + 0.1 
0.30000000000000004 
>>> 3 * 0.1 
0.30000000000000004

所有語言都存在這種問題,沒有什么可擔(dān)心的。Python會盡力找到一種方式,以盡可能精確地表示結(jié)果,但鑒于計(jì)算機(jī)內(nèi)部表示數(shù)字的方式,這在有些情況下很難。就現(xiàn)在而言,暫時忽略多余的小數(shù)位數(shù)即可。

使用函數(shù)str()避免類型錯誤

你經(jīng)常需要在消息中使用變量的值。例如,假設(shè)你要祝別人生日快樂,可能會編寫類似于下面的代碼(將下面代碼保存為birthday.py):

age = 23
message = "Happy " + age + "rd Birthday!"
print(message)

你可能認(rèn)為,上述代碼會打印一條簡單的生日祝福語:Happy 23rd birthday!。但如果你運(yùn)行這些代碼,將發(fā)現(xiàn)它們會引發(fā)錯誤:

Traceback (most recent call last):
File "birthday.py", line 2, in <module>
message = "Happy " + age + "rd Birthday!"
TypeError: Can't convert 'int' object to str implicitly

這是一個類型錯誤,意味著Python無法識別你使用的信息。在這個示例中,Python發(fā)現(xiàn)你使 用了一個值為整數(shù)(int)的變量,但它不知道該如何解讀這個值(見?)。Python知道,這個變 量表示的可能是數(shù)值23,也可能是字符2和3。像上面這樣在字符串中使用整數(shù)時,需要顯式地指 出你希望Python將這個整數(shù)用作字符串。為此,可調(diào)用函數(shù)str(),它讓Python將非字符串值表示 為字符串:

age = 23
message = "Happy " + str(age) + "rd Birthday!"
print(message)

這樣,Python就知道你要將數(shù)值23轉(zhuǎn)換為字符串,進(jìn)而在生日祝福消息中顯示字符2和3。經(jīng) 過上述處理后,將顯示你期望的消息,而不會引發(fā)錯誤:

Happy 23rd Birthday!

大多數(shù)情況下,在Python中使用數(shù)字都非常簡單。如果結(jié)果出乎意料,請檢查Python是否按 你期望的方式將數(shù)字解讀為了數(shù)值或字符串。

小作業(yè)
6-1 編寫 4 個表達(dá)式,它們分別使用加法、減法、乘法和除法運(yùn)算,但結(jié)果都是數(shù)字 8。
為使用 print 語句來顯示結(jié)果,務(wù)必將這些表達(dá)式用括號括起來,也就是說,你應(yīng)該編寫4行類似于下面的代碼:
print(5 + 3)
輸出應(yīng)為 4 行,其中每行都只包含數(shù)字8。命名為eight.py
6-2 將你最喜歡的數(shù)字存儲在一個變量中,再使用這個變量創(chuàng)建一條消息,指出你最喜歡的數(shù)字,然后將這條消息打印出來。命名為number.py

想查看作業(yè)答案可以去我的Githu倉庫

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容