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

2.2 Python中的變量

2.2.1 保留字與標(biāo)識符

在學(xué)習(xí)變量之前,先了解什么是保留字和標(biāo)識符。

1.保留字

保留字是Python中已經(jīng)被賦予特定意義的一些單詞,開發(fā)程序時,不可以把這些保留字作為變量、函數(shù)、類、模塊和其他對象的名稱來使用。Python中的保留字如表2.1所示。

表2.1 Python中的保留字

注意

Python中所有保留字是區(qū)分字母大小寫的。例如,if是保留字,但是IF就不屬于保留字,如圖2.14所示。

圖2.14 Python中的保留字區(qū)分字母大小寫

Python中的保留字可以通過在IDLE中輸入以下兩行代碼予以查看:

    01  import keyword
    02  keyword.kwlist

執(zhí)行結(jié)果如圖2.15所示。

圖2.15 查看Python中的保留字

誤區(qū)警示

如果在開發(fā)程序時,使用Python中的保留字作為模塊、類、函數(shù)或者變量等的名稱,如下面代碼為使用Python保留字if作為變量的名稱:

    01  if = "堅持下去不是因為我很堅強(qiáng),而是因為我別無選擇"
    02  print(if)

運行時則會出現(xiàn)如圖2.16所示的錯誤提示信息。

圖2.16 使用Python保留字作為變量名時的錯誤信息

2.標(biāo)識符

標(biāo)識符可以簡單地理解為一個名字,比如每個人都有自己的名字,它主要用來標(biāo)識變量、函數(shù)、類、模塊和其他對象的名稱。

Python語言標(biāo)識符命名規(guī)則如下。

(1)由字母、下畫線“_”和數(shù)字組成,并且第一個字符不能是數(shù)字。當(dāng)前Python中只允許使用ISO-Latin字符集中的字符A~Z和a~z。

(2)不能使用Python中的保留字。

例如,下面是合法的標(biāo)識符:

    USERID
    name
    model2
    user_age

下面是非法的標(biāo)識符:

注意

Python的標(biāo)識符中不能包含空格、@、%和$等特殊字符。

(3)區(qū)分字母大小寫。在Python中,標(biāo)識符中的字母是嚴(yán)格區(qū)分大小寫的,兩個同樣的單詞,如果大小寫格式不一樣,那么所代表的意義是完全不同的。例如,下面3個變量是完全獨立、毫無關(guān)系的,就像3個長得比較像的人,彼此之間都是獨立的個體。

(4)Python中以下畫線開頭的標(biāo)識符有特殊意義,一般應(yīng)避免使用相似的標(biāo)識符。

 以單下畫線開頭的標(biāo)識符(如_width)表示不能直接訪問的類屬性。另外,也不能通過from xxx import *導(dǎo)入。

 以雙下畫線開頭的標(biāo)識符(如__add)表示類的私有成員。

 以雙下畫線開頭和結(jié)尾的是Python中專用的標(biāo)識。例如,__init__()表示構(gòu)造函數(shù)。

圖2.17 使用漢字作為標(biāo)識符

說明

在Python中允許使用漢字作為標(biāo)識符,如“我的名字="明日科技"”,在程序運行時并不會出現(xiàn)錯誤,如圖2.17所示。但建議讀者盡量不要使用漢字作為標(biāo)識符。

2.2.2 理解Python中的變量

在Python中,嚴(yán)格意義上變量應(yīng)該稱為“名字”,也可以理解為標(biāo)簽。當(dāng)把一個值賦給一個名字(如把值“學(xué)會Python還可以飛”賦給python)時,python就稱為變量。在大多數(shù)編程語言中,都將其稱為“把值存儲在變量中”。意思是在計算機(jī)內(nèi)存中的某個位置,字符串序列“學(xué)會Python還可以飛”已經(jīng)存在。你不需要準(zhǔn)確地知道它們到底在哪里,只需要告訴Python這個字符串序列的名字是python,然后就可以通過這個名字來引用這個字符串序列。這個過程就像上門取快遞一樣,內(nèi)存就像一個巨大的貨物架,在Python中使用變量就像是給快遞盒子加標(biāo)簽,如圖2.18所示。

圖2.18 貨物架中貼著標(biāo)簽的快遞

你的快遞存放在貨物架上,上面附著寫有你名字的標(biāo)簽。當(dāng)你來取快遞時,并不需要知道它們存放在這個大型貨架的具體哪個位置,只需要提供你的名字,快遞員就會把你的快遞交還給你。實際上,你的快遞可能并不在原先所放的位置。不過快遞員會為你記錄快遞的位置。要取回你的快遞,只需要提供你的名字。變量也一樣,你不需要準(zhǔn)確地知道信息存儲在內(nèi)存中的哪個位置,只需要記住存儲變量時所用的名字,再使用這個名字即可。

2.2.3 定義變量

在Python中,不需要先聲明變量名及其類型,直接賦值即可創(chuàng)建各種類型的變量。需要注意的是,對于變量的命名并不是任意的,應(yīng)遵循以下幾條規(guī)則。

 變量名必須是一個有效的標(biāo)識符。

 變量名不能使用Python中的保留字。

 慎用小寫字母l和大寫字母O。

 應(yīng)選擇有意義的單詞作為變量名。

為變量賦值可以通過等號“=”來實現(xiàn)。語法格式如下:

    變量名 = value;

例如,創(chuàng)建一個整型變量,并為其賦值為1024,可以使用下列語句:

    number = 1024                 # 創(chuàng)建變量number并賦值為1024,該變量為數(shù)值型

這樣創(chuàng)建的變量就是數(shù)值型的變量。如果直接為變量賦值一個字符串值,那么該變量即為字符串類型,如下列語句:

    nickname = "碧海蒼梧"         # 字符串類型的變量

誤區(qū)警示

在Python中,輸入代碼時,除非在字符串中有全角空格,否則一定不要用全角空格。這個錯誤比較隱蔽,不容易被發(fā)現(xiàn),所以我們要養(yǎng)成好的編碼習(xí)慣。

另外,Python是一種動態(tài)類型的語言,也就是說,變量的類型可以隨時變化。例如,在IDLE中,創(chuàng)建變量nickname,并賦值為字符串“碧海蒼梧”,然后輸出該變量的類型,可以看到該變量為字符串類型,再為變量賦值為數(shù)值1024,并輸出該變量的類型,可以看到該變量為整型。執(zhí)行過程如下:

說明

在Python語言中,使用內(nèi)置函數(shù)type()可以返回變量類型。

在Python中,允許多個變量指向同一個值。將兩個變量都賦值為數(shù)字2048,再分別應(yīng)用內(nèi)置函數(shù)id()獲取變量的內(nèi)存地址,將得到相同的結(jié)果。執(zhí)行過程如下:

    01  >>> no = number = 2048
    02  >>> id(no)
    03  50766992
    04  >>> id(number)
    05  50766992

在上述代碼中,id()為Python的內(nèi)置函數(shù),使用它可以返回變量所指的內(nèi)存地址。

注意

常量就是在程序運行過程中,值不能改變的量,諸如現(xiàn)實生活中的居民身份證號碼、數(shù)學(xué)運算中的π值等,這些都是不會發(fā)生改變的,它們都可以定義為常量。在Python中,并沒有提供定義常量的保留字。不過在PEP 8規(guī)范中定義了常量的命名規(guī)范由大寫字母和下畫線組成,但是在實際項目中,常量首次賦值后,還是可以被其他代碼修改。

主站蜘蛛池模板: 彭山县| 安龙县| 淮滨县| 饶河县| 招远市| 泽州县| 邵武市| 渭南市| 开化县| 高雄市| 屏东县| 肃南| 赤城县| 丹阳市| 犍为县| 即墨市| 屏山县| 城口县| 绥滨县| 石景山区| 吴忠市| 正宁县| 新田县| 同江市| 丹阳市| 宜春市| 二手房| 德安县| 加查县| 宜春市| 江口县| 广河县| 肥城市| 麻城市| 化州市| 广安市| 罗源县| 汤阴县| 大渡口区| 马龙县| 建昌县|