5艺晴、Python 變量常量

一、變量(variable)

1叶雹、概要

要想要說(shuō)變量财饥,首先换吧,要理解折晦,編程是什么。編程沾瓦,就是我們告訴計(jì)算機(jī)满着,你要幫我做什么谦炒。在這個(gè)過(guò)程中,有人风喇、編程語(yǔ)言 宁改、計(jì)算機(jī)三個(gè)角色,因?yàn)橛?jì)算機(jī)是看不懂人類(lèi)的語(yǔ)言的魂莫,而我們也無(wú)法直接地告訴計(jì)算機(jī)要做什么还蹲,

2 、什么是變量

變:變化耙考,核心在與變化 量:衡量谜喊,計(jì)量,表達(dá)是一種狀態(tài)

我們初學(xué)計(jì)算機(jī)語(yǔ)言的時(shí)候倦始,就接觸到了變量的概念斗遏,當(dāng)然,那時(shí)候不可能給出精確的定義鞋邑,很多書(shū)在講的時(shí)候就像大家看到了變量這個(gè)詞大概就能知道它是什么一樣無(wú)需解釋?zhuān)热纭禖語(yǔ)言程序設(shè)計(jì)》里直接就提到了變量的說(shuō)明而沒(méi)有說(shuō)什么是變量诵次。當(dāng)我們帶著這種模糊的感覺(jué)變成“有經(jīng)驗(yàn)”的程序員時(shí),似乎已經(jīng)沒(méi)人在意變量究竟是什么了

? In computer programming, a variable is a storage location and an associated symbolic name (an identifier) which contains some known or unknown quantity or information, a value

變量是一個(gè)存儲(chǔ)位置和一個(gè)關(guān)聯(lián)的符號(hào)名字枚碗,這個(gè)存儲(chǔ)位置包含了一些已知或未知的量或者信息逾一,即值,所有理解變量要從這三個(gè)方面去理解

  1. 名字(運(yùn)行時(shí)會(huì)變成數(shù)字化的名字肮雨,內(nèi)存地址)
  2. 存儲(chǔ)位置(某一位置開(kāi)始的一定大小的存儲(chǔ)空間)
  3. 該存儲(chǔ)位置里內(nèi)容的解釋方式(即類(lèi)型嬉荆,整數(shù)、浮點(diǎn)數(shù)還是字符串酷含?)

二鄙早、變量聲明與賦值

1、變量聲明

在Python中椅亚,變量不需要明確的聲明類(lèi)型來(lái)保留內(nèi)存空間限番。當(dāng)向變量分配值時(shí),Python會(huì)自動(dòng)發(fā)出聲明呀舔。 等號(hào)(=)用于為變量賦值弥虐。Python 中的變量不需要聲明。每個(gè)變量在使用前都必須賦值媚赖,變量賦值以后該變量才會(huì)被創(chuàng)建

2霜瘪、示例代碼

  1. 基礎(chǔ)使用
    number1 = 1 #整形
    number2 = 1.2 #浮點(diǎn)型
    s= '字符串' #字符串類(lèi)型
    t = Ture #布爾類(lèi)型
    
  2. 多重賦值
    #不同的變量賦同一個(gè)值
    x=y=z=1
    
  3. 多元賦值
    #多元賦值
    #等號(hào)兩邊是元組 通常元組需要小括號(hào),此處可以忽略
    x,y,z = 1,2,'a'
    #建議加上小括號(hào),增加可讀性
    (x,y,z) = (1,2,'a')
    
  4. 變量交換
    x = 1
    y ='3'
    x,y = y,x
    

三、變量的內(nèi)存模型

1惧磺、簡(jiǎn)介

雖然 python 的變量使用起來(lái)非常簡(jiǎn)單颖对,但是理解變量的內(nèi)存模型也是非常重要的。

2磨隘、示例代碼

  1. 示例1
    a = "abc"
    print(a)
    b = a
    b = "xyz"
    print(a)   # abc
    print(b)   # xyz
    
  2. 說(shuō)明
  • 第1行代碼做了3件事情:
    1缤底、在內(nèi)存中創(chuàng)建了一個(gè)字符串"abc"
    2顾患、在內(nèi)容創(chuàng)建了一個(gè)變量,變量名為a
    3个唧、字符串"abc"在內(nèi)存中的地址賦值給變量 a江解。即可以理解為變量 a 指向了字符串 "abc"
  • 第3行代碼做了2件事情:
    1、創(chuàng)建一個(gè)變量徙歼,變量名是 b
    2犁河、把 變量 a 的值賦給變量 b。因?yàn)?a 中是存儲(chǔ)的字符串 "abc" 的內(nèi)存地址魄梯,則變量 b 存儲(chǔ)的也是字符串 "abc" 的內(nèi)存地址呼股。即變量 b 也指向了字符串 "abc"
  • 第5行代碼做了2件事情:
    1、在內(nèi)存中創(chuàng)建了一個(gè)字符串"xyz"
    2画恰、字符串"xyz"在內(nèi)存中的地址賦值給變量 b彭谁。則 b 中的值被更換為字符串 "xyz" 的內(nèi)存地址, b 與 字符串 "abc" 則再無(wú)關(guān)系允扇。

3缠局、總結(jié)

計(jì)算機(jī)要處理的數(shù)據(jù)各種各樣,每種數(shù)據(jù)的類(lèi)型是不一樣的考润,比如有的是數(shù)字狭园,有的是字符串等。所以 python 把數(shù)據(jù)分成了多種類(lèi)型糊治。

但是有一點(diǎn)要注意:由于 python 是弱類(lèi)型語(yǔ)言唱矛,變量存儲(chǔ)的值的類(lèi)型并不固定。所以 不應(yīng)該說(shuō)變量的類(lèi)型井辜,而應(yīng)該說(shuō)變量的值的類(lèi)型绎谦。

四、變量命名規(guī)范

  1. 變量名可以包括字母粥脚、數(shù)字窃肠、下劃線,但是數(shù)字不能做為開(kāi)頭刷允。
    name1 = '老王' #合法變量名冤留,
    1name='老王'  #錯(cuò)誤聲明
    
  2. 系統(tǒng)關(guān)鍵字不能做變量名使用
    def = 1 #錯(cuò)誤
    class = 'werner'#錯(cuò)誤
    
  3. 除了下劃線之個(gè),其它符號(hào)不能做為變量名使用
    $name='jack' #錯(cuò)誤
    user_name='jack' #正確(推薦命名,單詞之間用下劃線隔開(kāi),字母全部小寫(xiě))
    userName ="rose" #正確
    
  4. Python的變量名是除分大小寫(xiě)的树灶,例如:name和Name就是兩個(gè)變量名纤怒,而非相同變量哦。
  5. 變量命名盡量起的有意義,而且使用前盡量先賦值

五天通、常量

1泊窘、概念

python中沒(méi)有專(zhuān)門(mén)定義常量的方式,通常使用大寫(xiě)變量名表示。常量是一旦初始化之后就不能修改的固定值州既。例如:數(shù)字"5",字符串"abc"都是常量

通常用全部大寫(xiě)的變量名表示常量

2谜洽、示例代碼

  1. 示例1
    SYS_VERSION=1
    '''
    但事實(shí)上 SYS_VERSION 仍然是一個(gè)變量萝映,Python 根本沒(méi)有任何機(jī)制保證 SYS_VERSION不會(huì)被 改變吴叶,所以,用全部大寫(xiě)的變量名表示常量只是一個(gè)習(xí)慣上的用法序臂,如 果你一定要改變變量 SYS_VERSION 的值蚌卤,也沒(méi)人能攔住你
    '''
    
  2. 示例2
    Python中并沒(méi)有提供定義常量的保留字。Python是一門(mén)功能強(qiáng)大的語(yǔ)言奥秆,可以自己定義一個(gè)常量類(lèi)來(lái)實(shí)現(xiàn)常量的功能逊彭。
    #fileName:const.py
    class _const:
      class ConstError(TypeError):pass
      def __setattr__(self,name,value):
        if name in self.__dict__:
          raise self.ConstError("Can't rebind const(%s)"%name)
        self.__dict__[name] = value
    import sys
    sys.modules[__name__] = _const()
    
    import const
    const.name='老王'
    const.name='小明'
    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市构订,隨后出現(xiàn)的幾起案子侮叮,更是在濱河造成了極大的恐慌,老刑警劉巖悼瘾,帶你破解...
    沈念sama閱讀 217,084評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件囊榜,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡亥宿,警方通過(guò)查閱死者的電腦和手機(jī)卸勺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)烫扼,“玉大人曙求,你說(shuō)我怎么就攤上這事∮称螅” “怎么了悟狱?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,450評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)堰氓。 經(jīng)常有香客問(wèn)我芽淡,道長(zhǎng),這世上最難降的妖魔是什么豆赏? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,322評(píng)論 1 293
  • 正文 為了忘掉前任挣菲,我火速辦了婚禮,結(jié)果婚禮上掷邦,老公的妹妹穿的比我還像新娘白胀。我一直安慰自己,他們只是感情好抚岗,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,370評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布或杠。 她就那樣靜靜地躺著,像睡著了一般宣蔚。 火紅的嫁衣襯著肌膚如雪向抢。 梳的紋絲不亂的頭發(fā)上认境,一...
    開(kāi)封第一講書(shū)人閱讀 51,274評(píng)論 1 300
  • 那天,我揣著相機(jī)與錄音挟鸠,去河邊找鬼叉信。 笑死,一個(gè)胖子當(dāng)著我的面吹牛艘希,可吹牛的內(nèi)容都是我干的硼身。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼覆享,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼佳遂!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起撒顿,我...
    開(kāi)封第一講書(shū)人閱讀 38,980評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤丑罪,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后凤壁,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體吩屹,經(jīng)...
    沈念sama閱讀 45,414評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,599評(píng)論 3 334
  • 正文 我和宋清朗相戀三年客扎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了祟峦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,773評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡徙鱼,死狀恐怖宅楞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情袱吆,我是刑警寧澤厌衙,帶...
    沈念sama閱讀 35,470評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站绞绒,受9級(jí)特大地震影響婶希,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蓬衡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,080評(píng)論 3 327
  • 文/蒙蒙 一喻杈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧狰晚,春花似錦筒饰、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,713評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春谬晕,著一層夾襖步出監(jiān)牢的瞬間碘裕,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,852評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工攒钳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留帮孔,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,865評(píng)論 2 370
  • 正文 我出身青樓夕玩,卻偏偏與公主長(zhǎng)得像你弦,于是被迫代替她去往敵國(guó)和親惊豺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子燎孟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,689評(píng)論 2 354

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

  • 一、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 5,744評(píng)論 0 10
  • 一尸昧、快捷鍵 ctr+b 執(zhí)行ctr+/ 單行注釋ctr+c ...
    o_8319閱讀 5,814評(píng)論 2 16
  • 包(lib)揩页、模塊(module) 在Python中,存在包和模塊兩個(gè)常見(jiàn)概念烹俗。 模塊:編寫(xiě)Python代碼的py...
    清清子衿木子水心閱讀 3,805評(píng)論 0 27
  • 文/精分癥.大魏 1爆侣、王陽(yáng)明為何是在1508年創(chuàng)建“心學(xué)”?為什么不是其他的年份呢幢妄? 還是沒(méi)有辦法用自己的話去復(fù)述...
    JessieWei2017閱讀 276評(píng)論 0 0
  • 對(duì)于我來(lái)說(shuō)每天都這樣加班兔仰,更本沒(méi)有那么多時(shí)間學(xué)習(xí),工作生活都存在問(wèn)題了蕉鸳。 因?yàn)槭亲鍪止せ詈醺埃惚仨氁M量要拿出來(lái)更多...
    一直等著沒(méi)有下手閱讀 454評(píng)論 6 2