變數、常量和註釋
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 多行註釋
三個單引號/三個雙引號 + 註釋內容
'''
我是
多行註釋
'''
"""
我也是
多行註釋
"""