目錄
一、數字型別" >一、數字型別
Python的變數和資料類型的關係。 " >Python的變數和資料類型的關係。
二、Python 支援三種不同的數字型別(整數、浮點數和複數)" >二、Python 支援三種不同的數字型別(整數、浮點數和複數)
1. 整數(Int)" >1. 整數(Int)
什么是空间地址?" >什么是空间地址?
小整数对象池:
" >小整数对象池:
2. 浮點數(float)" >2. 浮點數(float)
3. 複數( (complex))" >3. 複數( (complex))
三、math库(数学计算)" >三、math库(数学计算)
四、总结" >四、总结
首頁 後端開發 Python教學 一文帶你去懂Python資料類型之數字類型

一文帶你去懂Python資料類型之數字類型

Jul 25, 2023 pm 02:02 PM
python 資料類型


一、數字型別

數字型別用來儲存數學意義上的數值。

數字型別是不可變型別。所謂的不可變類型,指的是類型的值一旦有不同了,那麼它就是一個全新的物件。數字1和2分別代表兩個不同的對象,對變數重新賦值一個數字類型,會新建一個數字對象。


Python的變數和資料類型的關係。

變數只是對某個物件的引用或說代號、名字、呼叫等等,變數本身沒有資料型別的概念。類似1,[2, 3, 4],「haha」這一類物件才具有資料類型的概念。

例如:

a = 1 # 创建数字对象1。


a = 2 # 创建数字对象2,并将2赋值给变量a,a不再指向数字对象1
登入後複製

這裡,發生了變化的是變數a的指向,而不是數字物件1變成了數字對象2。初學者可能會比較迷糊,但不要緊,我們努力去明白它。 <br/>

#

<br/>

二、Python 支援三種不同的數字型別(整數、浮點數和複數)

1. 整數(Int)

通常稱為整數,是正或負整數,不帶小數點。 Python3的整型可以當作Long型別(較長的整型)使用,所以 Python3沒有Python2的Long型別。

例如:1,100,-8080,0,等等。

表示數字的時候,有時我們還會用八進位或十六進位來表示:

十六進位用0x前綴和0-9,a-f表示,例如:0xff00,0xa5b4c3d2。

八進位用0o前綴和0-7表示,例如0o12。

Python的整數長度為32位,並且通常是連續分配記憶體空間的。

什么是空间地址?

空间地址(address space)表示任何一个计算机实体所占用的内存大小。比如外设、文件、服务器或者一个网络计算机。地址空间包括物理空间以及虚拟空间。

例 :

print(id(-2))


print(id(-1))


print(id(0))


print(id(1))


print(id(2))
登入後複製

一文帶你去懂Python資料類型之數字類型

从上面的空间地址看,地址之间正好差32。为什么会这样?

因为Python在初始化环境的时候就在内存里自动划分了一块空间,专门用于整数对象的存取。当然,这块空间也不是无限大小的,能保存的整数是有限的,所以你会看到id(0)和id(10000)之间的地址差别很大。

>>> id(0)
1456976928
>>> id(10000)
45818192
登入後複製

一文帶你去懂Python資料類型之數字類型

小整数对象池:<br/>

Python初始化的时候会自动建立一个小整数对象池,方便我们调用,避免后期重复生成!

这是一个包含262个指向整数对象的指针数组,范围是-5到256。也就是说比如整数10,即使我们在程序里没有创建它,其实在Python后台已经悄悄为我们创建了。

验证一下小整数对象池的存在

在程序运行时,包括Python后台自己的运行环境中,会频繁使用这一范围内的整数,如果每需要一个,你就创建一个,那么无疑会增加很多开销。创建一个一直存在,永不销毁,随用随拿的小整数对象池,无疑是个比较实惠的做法。

print(id(-6))
print(id(-5))
print(id(-4))
print(id(255))
print(id(256))
print(id(257))
登入後複製

一文帶你去懂Python資料類型之數字類型<br/>

从id(-6)和id(257)的地址,我们能看出小整数对象池的范围,正好是-5到256。<br/>

除了小整数对象池,Python还有整数缓冲区的概念,也就是刚被删除的整数,不会被真正立刻删除回收,而是在后台缓冲一段时间,等待下一次的可能调用。

>>> a = 1000000>>> id(a)45818160>>> del a       # 删除变量a>>> b = 1000000>>> id(b)45818160
登入後複製

给变量a赋值了整数1000000,看了一下它的内存地址。然后我把a删了,又创建个新变量b,依然赋值为1000000,再次看下b的内存地址,和以前a存在的是一样的。<br/>

del是Python的删除关键字,可以删除变量、函数、类等等。

这一段内容,可能感觉没什么大用,但它对于理解Python的运行机制有很大帮助。

2. 浮點數(float)

浮點數也就是小數,如1.23,3.14,-9.01,等等。但對於很大或很小的浮點數,一般用科學計數法表示,把10用e替換,1.23x10^9就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。

3. 複數( (complex))

#複數由實數部分和虛數部分構成,可以用a bj,或complex(a ,b)表示,複數的實部a和虛部b都是浮點型。關於複數,不做科學計算或其它特殊需要,通常很難遇到。

數字型別轉換:

#有時候,我們需要轉換數字的型別。 Python為我們提供了方便的內建的資料型別轉換函數。

int(x):將x轉換為一個整數。如果x是個浮點數,則截取小數部分。

float(x) :將x轉換到一個浮點數。

complex(x) :將x轉換為複數,實數部分為 x,虛數部分為 0。

complex(x, y):将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。

转换过程中如果出现无法转换的对象,则会抛出异常,比如int("haha"),你说我把字符串“haha”转换为哪个整数才对?

a = 10.53b = 23print(int(a))
print(float(a))
print(complex(a))
print(complex(a, b))
登入後複製

一文帶你去懂Python資料類型之數字類型

<br/>

三、math库(数学计算)

科学计算需要导入math这个库,它包含了绝大多数我们可能需要的科学计算函数,一般常用的函数主要包括abs()、exp()、fabs()、max()、min()等,这里就不再赘述了,感兴趣的小伙伴可以自行百度下。

下面是两个常用数学常量:

##pie
常數說明
#數學常數pi(圓周率,一般以π來表示)
#############數學常數e,e即自然常數(自然常數)。 ##################

下面是一些应用展示,注意最后的角度调用方式:

import mathprint(math.log(2))
print(math.cos(30))
print(math.cos(60))print(math.sin(30))
print(math.sin(math.degrees(30)))
print(math.sin(math.radians(30)))
登入後複製
<br/>
登入後複製

一文帶你去懂Python資料類型之數字類型

四、总结

    本文详细的讲解了Python基础 ( 数字类型 )。介绍了有关Python 支持三种不同的数字类型。以及在实际操作中会遇到的问题,提供了解决方案。

以上是一文帶你去懂Python資料類型之數字類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1272
29
C# 教程
1252
24
PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

sublime怎麼運行代碼python sublime怎麼運行代碼python Apr 16, 2025 am 08:48 AM

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Golang vs. Python:性能和可伸縮性 Golang vs. Python:性能和可伸縮性 Apr 19, 2025 am 12:18 AM

Golang在性能和可擴展性方面優於Python。 1)Golang的編譯型特性和高效並發模型使其在高並發場景下表現出色。 2)Python作為解釋型語言,執行速度較慢,但通過工具如Cython可優化性能。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

See all articles