官术网_书友最值得收藏!

在編程中,經(jīng)常使用數(shù)(number)來記錄得分,表示可視化數(shù)據(jù),存儲信息,等等。Python 根據(jù)數(shù)的用法以不同的方式處理它們。鑒于整數(shù)使用起來最簡單,下面就先來看看 Python 是如何管理它們的。

在 Python 中,可對整數(shù)(integer)執(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)算。還可以使用括號來調(diào)整運(yùn)算順序,讓 Python 按你指定的順序執(zhí)行運(yùn)算,如下所示:

>>> 2 + 3*4
14
>>> (2 + 3) * 4
20

在這些示例中,空格不影響 Python 計算表達(dá)式的方式。它們旨在讓你在閱讀代碼時,能迅速確定將先執(zhí)行哪些運(yùn)算。

Python 將帶小數(shù)點(diǎn)的數(shù)稱為浮點(diǎn)數(shù)(float)。大多數(shù)編程語言使用了這個術(shù)語,它指出了這樣一個事實(shí):小數(shù)點(diǎn)可出現(xiàn)在數(shù)的任何位置上。每種編程語言都必須細(xì)心設(shè)計,以妥善地處理浮點(diǎn)數(shù),確保不管小數(shù)點(diǎn)出現(xiàn)在什么位置上,數(shù)的運(yùn)算都是正確的。

從很大程度上說,使用浮點(diǎn)數(shù)時無須考慮其行為。你只需輸入要使用的數(shù),Python 通常會按你期望的方式處理它們:

>>> 0.1 + 0.1
0.2
>>> 0.2 + 0.2
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ī)內(nèi)部表示數(shù)字的方式,這在有些情況下很難。就現(xiàn)在而言,暫時忽略多余的小數(shù)位數(shù)即可。在本書第二部分的項目中,你將在需要時學(xué)習(xí)處理多余小數(shù)位的方式。

將任意兩個數(shù)相除,結(jié)果總是浮點(diǎn)數(shù),即便這兩個數(shù)都是整數(shù)且能整除:

>>> 4/2
2.0

在其他任何運(yùn)算中,如果一個操作數(shù)是整數(shù),另一個操作數(shù)是浮點(diǎn)數(shù),結(jié)果也總是浮點(diǎn)數(shù):

>>> 1 + 2.0
3.0
>>> 2 * 3.0
6.0
>>> 3.0 ** 2
9.0

在 Python 中,無論是哪種運(yùn)算,只要有操作數(shù)是浮點(diǎn)數(shù),默認(rèn)得到的就總是浮點(diǎn)數(shù),即便結(jié)果原本為整數(shù)。

在書寫很大的數(shù)時,可使用下劃線將其中的位分組,使其更清晰易讀:

>>> universe_age = 14_000_000_000

當(dāng)你打印這種使用下劃線定義的數(shù)字時,Python 不會打印其中的下劃線:

>>> print(universe_age)
14000000000

這是因為在存儲這種數(shù)時,Python 會忽略其中的下劃線。在對數(shù)字位分組時,即便不是將每三位分成一組,也不會影響最終的值。在 Python 看來,1000 與 1_000 沒什么不同,1_000 與 10_00 也沒什么不同。這種表示法既適用于整數(shù),也適用于浮點(diǎn)數(shù)。

可在一行代碼中給多個變量賦值,這有助于縮短程序并提高其可讀性。這種做法最常用于將一系列數(shù)賦給一組變量。

例如,下面演示了如何將變量 x、y 和 z 都初始化為零:

>>> x, y, z = 0, 0, 0

在這樣做時,需要用逗號將變量名分開;對于要賦給變量的值,也需要做同樣的處理。Python 將按順序?qū)⒚總€值賦給對應(yīng)的變量。只要變量數(shù)和值的個數(shù)相同,Python 就能正確地將變量和值關(guān)聯(lián)起來。

常量(constant)是在程序的整個生命周期內(nèi)都保持不變的變量。Python 沒有內(nèi)置的常量類型,但 Python 程序員會使用全大寫字母來指出應(yīng)將某個變量視為常量,其值應(yīng)始終不變:

MAX_CONNECTIONS = 5000

在代碼中,要指出應(yīng)將特定的變量視為常量,可將其變量名全大寫。

動手試一試

練習(xí) 2.9:數(shù)字 8 編寫 4 個表達(dá)式,分別使用加法、減法、乘法和除法運(yùn)算,但結(jié)果都是數(shù)字 8。為了使用函數(shù)調(diào)用 print() 來顯示結(jié)果,務(wù)必將這些表達(dá)式用括號括起來。也就是說,你應(yīng)該編寫 4 行類似于這樣的代碼:

print(5+3)

輸出應(yīng)為 4 行,其中每行都只包含數(shù)字 8。

練習(xí) 2.10:最喜歡的數(shù) 用一個變量來表示你最喜歡的數(shù),再使用這個變量創(chuàng)建一條消息,指出你最喜歡的數(shù)是什么,然后將這條消息打印出來。

主站蜘蛛池模板: 游戏| 嘉定区| 河池市| 临澧县| 华宁县| 鹤庆县| 竹北市| 裕民县| 汽车| 大邑县| 潢川县| 蕉岭县| 绥阳县| 普兰县| 崇阳县| 长岛县| 鄂伦春自治旗| 南平市| 保康县| 沙河市| 乌审旗| 天祝| 兴文县| 德安县| 阿鲁科尔沁旗| 时尚| 兴国县| 青川县| 沧州市| 上犹县| 梅州市| 曲松县| 扎赉特旗| 石屏县| 阿勒泰市| 东乡族自治县| 安徽省| 邻水| 土默特左旗| 杭州市| 连城县|