1. 程式人生 > 實用技巧 >變數、常量和註釋

變數、常量和註釋

1. 變數

1.1 什麼是變數?

變數就是可以變化的量,這個量指的是事物的狀態,比如說人的年齡,今天的天氣啊,你的髮量啊,哈哈哈。

1.2 為什麼要有變數?

為了讓計算機能夠像人一樣去記憶事物的某種狀態,並且狀態是可以發生變化的。

詳細地說:

程式執行的本質就是一系列狀態的變化,變化是程式執行的直接體現,所以我們需要有一種機制能夠反映或者說是

儲存下來程式執行時狀態,以及狀態的變化。

1.3 怎麼使用變數?

變數一定是,先定義後使用。

變數的三大組成部分,如下圖

直譯器執行到變數定義的程式碼時會申請記憶體空間存放變數值,然後將變數值的記憶體地址繫結給變數名,以變數的定

義name = "ymn"為例,如下圖:

# 定義一個變數
name = "ymn"

這樣我們就定義了一個變數,定義變數的本質就是申請在記憶體中開闢一塊空間存放變數值,那之前我們說過,你既

然存在記憶體中,怎麼取出來用呢?就是通過變數名,變數名指向的就是變數值存放的記憶體地址,我們可以拿著地址

去訪問值。

# 定義一個變數
name = "ymn"
print(name)

1.4 變數名的命名規範

  • 變數名只能由 字母、數字、下劃線 組成。

  • 變數名不能以數字開頭。

  • 變數名不能是Python內建關鍵字,如:

    ‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’
    

命名的兩種風格

# 風格一:駝峰體
AgeOfTony = 56 
NumberOfStudents = 80

# 風格二:純小寫+下劃線(在python中,變數名的命名推薦使用該風格)
age_of_tony = 56 
number_of_students = 80

變數名的不推薦命名(雖然程式不會報錯,但是別人看到這樣的命名一定會,呵呵的)

  • 採用拼音,用漢字命名,變數名過長,這些都是不推薦的,實際開發中,一定不要採用這種。

2. is 與 ==

2.1 id

之前我們講到過變數名繫結的是變數值的記憶體地址,那麼不同的變數名可能繫結的記憶體地址是不同的,那麼怎麼能

體現這一點呢?python直譯器給我們提供了id()

這個函式。(函式後面會介紹)

通過id(變數名) 會返回一串id號碼,這串id號碼就對應著這個變數值的記憶體地址。那麼我們就可以通過比較id號

碼,來判斷不同變數名指向的記憶體地址是否相同。id( )返回物件當前的記憶體地址,記憶體地址不同id自然不同。

x = 'ymn'
y = 'alex'
print(id(x))  # 3102991623032
print(id(y))  # 3102991623032

2.2 is

比較的是左右兩邊的id是否相等

x = '100'
y = x
print(x is y) # True

2.3 ==

比較的是左右兩邊的值是否相等

x = '10'
y = '10'
print(x == y) # True

總結: id相等,即記憶體地址必然相等,即值必然相等。但是值相等,但id不一定相等,記憶體地址也不一定相等。

3. 小整數池 ( 瞭解 )

3.1 什麼是小整數池?

就是當你的python直譯器啟動的那一刻,會在記憶體中事先申請好一系列的記憶體空間存在一些常用的整數。

這個整數的返回是【-5,256】。

3.2 小整數池有什麼用?

這樣一些我們常用的小整數就不需要我們來回建立了,直接從小整數池中取。

4. 常量

4.1 什麼是常量?

常量就是不變的量,但是在python中是沒有常量的,人們約定俗成用全部大寫的英文單詞代表常量。

NAME = "我是一個常量"

4.2 為什麼要有常量?

在程式執行過程中,有些值是固定的、不應該被改變,比如圓周率 3.141592653...

4.3 怎麼使用常量?

在Python中沒有一個專門的語法定義常量,約定俗成是用全部大寫的變數名錶示常量。如:PI=3.14159。所以單

從語法層面去講,常量的使用與變數完全一致。

5.註釋

註釋是對程式碼的解釋說明,不是所有程式碼都需要註釋,只是那些難於理解又關鍵的程式碼,必須加註釋,方便自己或

其他人後期閱讀。

註釋的內容不會被python直譯器,解釋執行。

5.1 註釋的兩種方式

5.1.1 單行註釋

井號 + 註釋內容

# 我是一行註釋
print('hello word') # 我也是一行註釋

5.1.2 多行註釋

三個單引號/三個雙引號 + 註釋內容

'''
我是
多行註釋
'''

"""
我也是
多行註釋
"""