Number類型

Python 數(shù)字數(shù)據(jù)類型用于存儲數(shù)值幅疼。

數(shù)據(jù)類型是不允許改變的,這就意味著如果改變數(shù)字數(shù)據(jù)類型的值帜矾,將重新分配內(nèi)存空間玉凯。

Python3 中有六個標準的數(shù)據(jù)類型:

Number(數(shù)字)
String(字符串)
List(列表)
Tuple(元組)
Set(集合)
Dictionary(字典)
Python3 的六個標準數(shù)據(jù)類型中:

不可變數(shù)據(jù):(3 個):Number(數(shù)字)、String(字符串)送火、Tuple(元組);
可變數(shù)據(jù):(3 個):List(列表)先匪、Dictionary(字典)种吸、Set(集合)。
Python3中number 支持 int胚鸯、float骨稿、bool、complex(復(fù)數(shù))姜钳。

在Python 3里坦冠,只有一種整數(shù)類型 int,表示為長整型哥桥,沒有 python2 中的 Long辙浑。

下面看個簡單例子:關(guān)于python中數(shù)據(jù)的存儲形式

a = 10 
list1 = [1,2,3,4]
string = 'aaa'
set = (1,2,3,4)
tuple1 = (1,2,3,4)
dict1 = {1:2,2:3}

image.png

注意:可以看到number類型和string類型的指存放在frames(棧)中,而其他的類型的指存放在Objects(堆)中拟糕。
那么這是為什么判呕?
首先,計算機中關(guān)于各種數(shù)據(jù)的存儲都需要一個存儲位置送滞,如:1.寄存器侠草、2.棧內(nèi)存、3.堆內(nèi)存犁嗅、4.常量池边涕、5.非RAM存儲區(qū)等。
這里簡要說明一下關(guān)于各種存儲的存儲方式:
1.寄存器
最快的存儲區(qū)褂微,位于處理器內(nèi)部功蜓,但是數(shù)量極其有限。所以寄存器根據(jù)需求進行自動分配宠蚂,無法直接人為控制式撼。
2.棧內(nèi)存
位于RAM當中,通過堆棧指針可以從處理器獲得直接支持求厕。堆棧指針向下移動著隆,則分配新的內(nèi)存;向上移動呀癣,則釋放那些內(nèi)存旅东。這種存儲方式速度僅次于寄存器。
(常用于存放對象引用和基本數(shù)據(jù)類型十艾,而不用于存儲對象)
3.堆內(nèi)存
堆內(nèi)存是區(qū)別于區(qū)、全局數(shù)據(jù)區(qū)和代碼區(qū)的另一個內(nèi)存區(qū)域腾节。堆允許程序在運行時動態(tài)地申請某個大小的內(nèi)存空間忘嫉。

4.常量池
常量(字符串常量和基本類型常量)通常直接存儲在程序代碼內(nèi)部(常量池)荤牍。這樣做是安全的,因為它們的值在初始化時就已經(jīng)被確定庆冕,并不會被改變康吵。
5.非RAM存儲區(qū)
如果數(shù)據(jù)完全存活于程序之外,那么它可以不受程序的任何控制访递,在程序沒有運行時也可以存在晦嵌。

現(xiàn)在在來看python中數(shù)據(jù)在計算機存儲的方式

在上述例子中可以看到number和string類型的數(shù)據(jù)直接存放在Frames中,也就是直接存放在棧內(nèi)存中拷姿。存的內(nèi)容是申明的變量+變量的值惭载。而list、tuple响巢、dict描滔、set在棧內(nèi)存中存放的是一個引用地址,地址指向堆內(nèi)存空間踪古,在堆內(nèi)存空間存放著定義的具體的指含长。
總結(jié):一般來講簡單的數(shù)據(jù)類型如數(shù)字Number和字符串String的值以及對象的引用都是存放在棧內(nèi)存中,堆內(nèi)存用于存放對象引用指向的值伏穆。

數(shù)字Number類型的幾種數(shù)學(xué)運算

1.+拘泞、-、*枕扫、/ 加減乘除

a = 10 
b = 5
c = a+b
d = a-b
e = a*b
f = a/b
print(c,d,e,f)
image.png

2.//陪腌、**、%除法取整铡原、冪運算偷厦、取余

a = 10
b = 3
c = a//b
d = a**b
e = a%b
print(c,d,e)
image.png

注意:/的作用是除法,如10/4=2.5燕刻, //的作用是取商,如10//4=2只泼,%是除法取余,如10%3=1

下面看一個有趣的例子

a = -10
b = 3
c = 4
d = 2

print(a//b,a//c,a//d)
print(a%b,a%c,a%d)

結(jié)果:
image.png

why? 為什么不是-3卵洗,-3请唱,-5,-1 过蹂,-2十绑,0
其實這是因為在數(shù)學(xué)中,關(guān)于負數(shù)的運算規(guī)則

自然數(shù)的取模運算的定義是這樣的:

如果a和d是兩個自然數(shù)酷勺,d非零本橙,可以證明存在兩個唯一的整數(shù) q 和 r,滿足 a = qd + r 且0 ≤ |r| < |d| r為余數(shù)脆诉,q為商

注意:python中規(guī)定向負無窮取整

例子:
-9%7:那么滿足上面定義的規(guī)則就是 -9 = 7(-2)+5,那么5就是余數(shù)甚亭,(-2)就是商
9%-7:那么滿足上面定義的規(guī)則就是9 = -7
(-2)-5,那么-5就是余數(shù)贷币,-2為商
如此只剩一個問題:那就是關(guān)于商的確定如,9 = -7(-2)-5亏狰,為什么不是9 = -7(1)-2?

還是上面談到的關(guān)于python中的規(guī)定:向負無窮取整
那么什么是向負無窮取整役纹?如9/7=1.28 如果9/-7向負取整為 -2,所以-10%3向負取整就是商為-4.

上述的例子實現(xiàn)過程如下:
-10%3 :-10 = 3(-4)+2
-10%4 : -10 = 4
(-3)+2
-10%5 : -10 = 5*(-2)+0
所以取余結(jié)果為 2暇唾,2促脉,0,取商結(jié)果為-4策州,-3瘸味,-2

數(shù)字的邏輯運算

python中邏輯運算有and、or抽活、not

運算符 邏輯表達式 描述 實例
and x and y 布爾"與" - 如果 x 為 False硫戈,x and y 返回 False,否則它返回 y 的計算值下硕。 (a and b) 返回 20丁逝。
or x or y 布爾"或" - 如果 x 是 True,它返回 x 的值梭姓,否則它返回 y 的計算值霜幼。 (a or b) 返回 10。
not not x 布爾"非" - 如果 x 為 True誉尖,返回 False 罪既。如果 x 為 False,它返回 True铡恕。 not(a and b) 返回 False
v1 = 1 or 3
v2 = 1 and 3
v3 = 0 and 2 and 1
v4 = 0 and 2 or 1
v5 = 0 and 2 or 1 or 4
v6 = 0 or False and 1
print(v1,v2,v3,v4,v5,v6)

image.png

科普:python中所有的數(shù)據(jù)類型都可以轉(zhuǎn)換為布爾值琢感,Number類型中除0之外的所有值都為True,0為False探熔,容器類型中驹针,None型為False,其他都為True诀艰。字符串中空串轉(zhuǎn)換為Fasle柬甥,其他都為True。

python中身份運算符
運算符 描述 實例
is is 是判斷兩個標識符是不是引用自一個對象 x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則返回 True其垄,否則返回 False
is not is not 是判斷兩個標識符是不是引用自不同對象 x is not y 苛蒲, 類似 id(a) != id(b)。如果引用的不是同一個對象則返回結(jié)果 True绿满,否則返回 False臂外。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子漏健,更是在濱河造成了極大的恐慌辜膝,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漾肮,死亡現(xiàn)場離奇詭異,居然都是意外死亡茎毁,警方通過查閱死者的電腦和手機克懊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來七蜘,“玉大人谭溉,你說我怎么就攤上這事∠鹇保” “怎么了扮念?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長碧库。 經(jīng)常有香客問我柜与,道長,這世上最難降的妖魔是什么嵌灰? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任弄匕,我火速辦了婚禮,結(jié)果婚禮上沽瞭,老公的妹妹穿的比我還像新娘迁匠。我一直安慰自己,他們只是感情好驹溃,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布城丧。 她就那樣靜靜地躺著,像睡著了一般豌鹤。 火紅的嫁衣襯著肌膚如雪亡哄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天傍药,我揣著相機與錄音磺平,去河邊找鬼。 笑死拐辽,一個胖子當著我的面吹牛拣挪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播俱诸,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼菠劝,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了睁搭?” 一聲冷哼從身側(cè)響起赶诊,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤笼平,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后舔痪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寓调,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年锄码,在試婚紗的時候發(fā)現(xiàn)自己被綠了夺英。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡滋捶,死狀恐怖痛悯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情重窟,我是刑警寧澤载萌,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站巡扇,受9級特大地震影響扭仁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜霎迫,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一斋枢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧知给,春花似錦瓤帚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至筒扒,卻和暖如春怯邪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背花墩。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工悬秉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人冰蘑。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓和泌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親祠肥。 傳聞我的和親對象是個殘疾皇子武氓,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,149評論 0 13
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時...
    歐辰_OSR閱讀 29,392評論 8 265
  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 5,746評論 0 10
  • 冬季县恕,在大部分人的眼中應(yīng)該是蕭瑟东羹、凋敝的象征,確實忠烛,冬季刺骨的寒風(fēng)把生氣都掩藏了起來属提,但總有一些東西躲過了它的摧殘...
    東海有魚閱讀 167評論 0 0
  • 一部電梯的故事... 設(shè)計師們構(gòu)建了一個時尚的電梯將其安裝在游艇客戶休息室。 在這艘游艇內(nèi)美尸,室內(nèi)設(shè)計師想讓這玻璃電...
    數(shù)覺閱讀 620評論 3 1