變量的前世今生

前言

我叫Teemo搭幻,是一個變量咧擂,一出生就受到萬千寵愛。

今年檀蹋,我18歲了松申,爸媽讓我自己去闖蕩一下。

我來到一個叫計算機(jī)的地方俯逾,這里有個老大哥贸桶,人們都叫他“胖mao”。

他是一塊內(nèi)存桌肴,待人溫和皇筛,謙遜有禮,有著不符年齡的穩(wěn)重坠七。

變量的定義

胖mao:“hi水醋,teemo。程序猿開始定義變量了彪置,快來我這里”拄踪。

緊接著,胖mao又道:“這就是變量拳魁,變量一般由三部分組成惶桐, 變量名,等號,變量值”

# a (變量名) = '少杰真帥' (變量值)# 變量只有通過 = 來賦值才會創(chuàng)建
>>> a = "少杰真帥"

隨后胖mao分配了一塊空間給我姚糊。2265700801368是這塊空間的內(nèi)存(手機(jī))贿衍,a是這塊內(nèi)存的地址(手機(jī)號)

image

胖mao不屑的道:“哦,愚蠢的程序員救恨。又開始查看內(nèi)存地址了贸辈,把你的內(nèi)存地址給他吧”

>>> a = "少杰真帥"
>>> print(id(a))
2265700801368

我疑惑的問:“胖mao,胖mao忿薇,程序員哪怎么調(diào)用變量的呢裙椭?”

胖mao微微一笑道:“上面我們已經(jīng)知道了變量定義的過程。調(diào)用的時候署浩,十分簡單,只需要拿著手機(jī)號(變量名)去撥打這個手機(jī)(內(nèi)存地址)扫尺,就可以拿到手機(jī)里面的信息”

>>> a = "少杰真帥" # 分配手機(jī)筋栋,記錄手機(jī)號
>>> print(a) # 通過手機(jī)號拿到手機(jī)里面的數(shù)據(jù)少杰真帥

一臉茫然的我:“哦哦,這樣子啊正驻,我明白了”

image

變量的類型

變量在內(nèi)存地址中有多種數(shù)據(jù)類型弊攘。最常見的有以下幾種。

  • Numbers(數(shù)字)
    • int 整形
    • float 浮點型
  • String(字符串)
  • List(列表)
  • Tuple(元組)
  • Dictionary(字典)
  • Boolean (布爾)

其中又分為可變類型和不可變類型姑曙〗蠼唬可變類型ListDictionary,不可變類型Numbers,String,Tuple,Boolean伤靠。

好奇的我:“胖mao大哥捣域,可變類型和不可變類型的內(nèi)存地址(手機(jī))有什么區(qū)別嗎”

胖貓道:“Good question,首先我們來看一個例子”

# a和b值相同宴合,并且a和b指向了同一個內(nèi)存地址
>>> a = '少杰真帥
>>> b = '少杰真帥'
>>> print(id(a))
2167593736152
>>> print(id(b))
2167593736152

胖mao認(rèn)真的道:“看到了嗎焕梅,小teemo。

在不可變類型的變量中卦洽,兩個相同的變量會指向同一個內(nèi)存地址(或者說一個手機(jī)有2個手機(jī)號)贞言,就等同于b=a”

# 先定義a,再將a賦值給b阀蒂,所以b就指向了a的內(nèi)存地址
a = '少杰真帥'
b = a

我若有所思:“可變的類型中该窗,兩個變量值相同的變量,是不是沒有指向同一個內(nèi)存地址

胖mao欣慰的道:“對的蚤霞,沒錯”, 心里嘆了口氣酗失,唉,這傻孩子終于開竅了争便,不容易啊级零。

# a和b值相同,但是a和b指向了不同的內(nèi)存地址
>>> a = {}
>>> b = {}
>>> print(id(a))
1788554560712
>>> print(id(b))
1788555064808

變量的實戰(zhàn)

胖毛:“我有個侄女叫陳懟懟。

今年18歲奏纪,身高155cm鉴嗤,體重50kg,喜歡的食物是粉皮序调,愛好唱醉锅,跳,rap发绢,籃球硬耍,夢想是嫁一個有6.6w彩禮的男人

你現(xiàn)在用變量來記錄一下的她的信息”。

通過分析边酒,我們可以得到陳懟懟的信息经柴。

name = '陳懟懟' # str
age = 18 # int
sex = True # 是女性
height = 1.55 # float
weight = 50 # int
food = '粉皮' # str
hobby = ['唱','跳', 'rap', '籃球'] # list
dream = '嫁一個有6.6w彩禮的男人' # str

變量的引用和銷毀

2019年6月11號,這是我呆在計算機(jī)的最后一天墩朦,明天我就要回家了坯认。

胖mao優(yōu)雅喝了一口AD鈣,運行了程序氓涣,緩緩道:”早啊牛哺,teemo。 你現(xiàn)在明白了變量的創(chuàng)建劳吠,哪你知道變量是怎么銷毀的嗎引润?“

”什么?銷毀痒玩,變量怎么可能會銷毀淳附?這絕對不可能!“

胖mao呵呵一笑:”我就知道你不會相信的凰荚,我這可憐的小teemo燃观。“

a = 'shaojie'  # 引用指數(shù) 1
b = 'shaojie' # 引用指數(shù)+1
c = a
print(id(a))
print(id(b)) 
print(id(c)) 
out: 2663853149064
out: 2663853149064
out: 2663853149064

”前面你已經(jīng)知道便瑟,在不可變類型的變量中缆毁,兩個相同的變量會指向同一個內(nèi)存地址。實際上這就是對內(nèi)存地址的引用到涂,每賦值一次脊框,內(nèi)存的引用指數(shù)就會加一。

a = {} # 引用a指數(shù) 1
b = {} # 引用b指數(shù) 1
c = a # 引用a指數(shù) +1
print(id(a))
print(id(b))
print(id(c))
out: 1694625991128
out: 1694625991200
out: 1694625991128

# 第二次執(zhí)行
out: 1694625991599
out: 1694625991300
out: 1694625991599

"在可變的類型中践啄,兩個變量值相同的變量浇雹,不會指向同一個內(nèi)存地址。 只有將之前的變量賦值給其他變量的時候屿讽,引用指數(shù)才會增加昭灵。

胖mao緩了緩說道:”變量每執(zhí)行一次吠裆,它的引用指數(shù)就會少1,當(dāng)引用指數(shù)為0烂完,變量就會從內(nèi)存中銷毀试疙,哈哈哈】衮迹“

當(dāng)我聽到胖mao這段話的時候祝旷,程序已經(jīng)運行完畢了,我的意識也漸漸迷失嘶窄,身體被被攆得粉碎怀跛。。柄冲。

”唉吻谋,其實...... 我是個女人∠趾幔“

image
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末滨溉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子长赞,更是在濱河造成了極大的恐慌,老刑警劉巖闽撤,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件得哆,死亡現(xiàn)場離奇詭異,居然都是意外死亡哟旗,警方通過查閱死者的電腦和手機(jī)贩据,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來闸餐,“玉大人饱亮,你說我怎么就攤上這事∩嵘常” “怎么了近上?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長拂铡。 經(jīng)常有香客問我壹无,道長,這世上最難降的妖魔是什么感帅? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任斗锭,我火速辦了婚禮,結(jié)果婚禮上失球,老公的妹妹穿的比我還像新娘岖是。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布豺撑。 她就那樣靜靜地躺著烈疚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪前硫。 梳的紋絲不亂的頭發(fā)上胞得,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天,我揣著相機(jī)與錄音屹电,去河邊找鬼阶剑。 笑死,一個胖子當(dāng)著我的面吹牛危号,可吹牛的內(nèi)容都是我干的牧愁。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼外莲,長吁一口氣:“原來是場噩夢啊……” “哼猪半!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起偷线,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤磨确,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后声邦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乏奥,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年亥曹,在試婚紗的時候發(fā)現(xiàn)自己被綠了邓了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡媳瞪,死狀恐怖骗炉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蛇受,我是刑警寧澤句葵,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站龙巨,受9級特大地震影響笼呆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜旨别,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一诗赌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧秸弛,春花似錦铭若、人聲如沸洪碳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽殉疼。三九已至撑瞧,卻和暖如春努咐,著一層夾襖步出監(jiān)牢的瞬間恃疯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工荚坞, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留挑宠,地道東北人。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓颓影,卻偏偏與公主長得像各淀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子诡挂,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,870評論 2 361