變量 和 註釋
轉自:白月黑羽Python3教程:http://www.python3.vip/doc/tutorial/python/0003/
Python語言中,所有的 數據
都被稱之為 對象。
每個整數、小數、字符串,還有我們後面要學的 字典、元組、列表 等, 都是對象。
在Python程序運行的時候,這些對象 其實就是 內存中的一段數據
。
變量的概念
大家來思考一個問題:
人類語言裏面,當我們提到一個人或物體, 是怎麽說的?
比如說 聊天的時候,提到你的一個同學, 提到一支球隊
對了,用他們的 名字。
比如: 王曉剛同學, 湖人隊等等。
如果不允許使用 事物的名字, 我們的話就沒法說了。
人類語言是這樣,計算機語言也是一樣,如果產生了數據對象,卻沒有給它們起名字,就像這樣
43 ‘你好,今天天氣真不錯‘
我們後面的代碼,怎麽去使用這個數字 43
和 字符串 ‘你好,今天天氣真不錯‘
呢?
編程語言為了方便操作數據對象,也需要給對象起一個名字。
我們把Python語言中對象的名字, 稱之為 變量名 , 有時也簡稱 變量。
我們可以這樣給數據對象起名字
age = 43 weather = ‘你好,今天天氣真不錯‘
變量名 和 數據對象 之間 用 等號
連接
其中
age 就是 數字對象 43
的名字,我們也可以說:變量age的值 是數字對象 43
weather 就是 字符串對象 你好,今天天氣真不錯
你好,今天天氣真不錯
定義了變量之後,我們寫代碼,需要用到 這 兩個對象時,就可以用它們的名字: 變量名。
比如
age = 43 weather = ‘你好,今天天氣真不錯‘ print(age) print(weather)
代碼執行的時候,解釋器看到 變量名 就知道代表的就是對應的數據對象。
大家運行一下,可以發現,可以打印出變量所代表的 對象。
下面這行語句, 定義了 一個變量 age 值為 43,
age = 43
也可以稱之為: 給變量 age 賦值
變量的命名規則
變量名不是隨便取的,有一定的規則。
-
變量名可以包含 字母、數字和下劃線。
-
變量名可以以字母或下劃線打頭,比如 var1 , 或者 _var 。
-
但不能以數字打頭, 像
1var
這樣是不行的。 -
變量名中不能包含空格。
-
變量名中可以包含下劃線,像下面這樣都是可以的
Hello, var1, age2name, age_name
-
變量名 不能 和 關鍵字 同名,
比如
as = 1997
as 是 Python的關鍵字,是Python語言中有特殊意義的名字, 不能用作變量名。
-
變量名 不要 和 內置函數 同名
比如
type = 333 # 這行代碼就把type這個內置函數名 重新賦值為數字對象 333 了 type(333) # 相當於把數字對象當做函數對象進行調用,執行的時候就會出錯了。
可以點擊這裏查看Python中有哪些關鍵字和內置函數
一個好的工程師,變量名不是亂取的,我們通常稱之為見名知意原則,就是看到變量名,就知道變量對應的數據的含義。
比如 startTime, your_name, 這樣的變量名,看了就知道是啥意思
而像 a , b , c 這樣的變量名就不好,因為看了不知道是啥意思。
註意:在Python中 變量名是大小寫敏感的。
不可以 在定義的時候使用 startTime 作為變量名,而在使用的時候,用 starttime 。
下面的代碼就不正確
startTime = ‘20180504‘ print(starttime)
變量值的變化
對象的名字為什麽叫變量呢?
因為它會變 :)
Python語言中,變量的值會可以產生變化
這裏特別要註意的是,這種變化有如下兩種情況
第一種:變量 重新指向了 新的對象
這種情況也被稱之為 變量重新賦值,比如
age = 43 age = ‘hello‘
運行程序的時候,第一條語句執行完的時候,變量名age就是數字對象 43
的名字。
其對應關系如下圖所示:
第二條語句執行完, 變量age就不是數字對象 43
的名字了,而是字符串對象 hello
的名字了。
其對應關系如下圖所示:
當第二條語句執行完, 數字對象 43 就沒有變量引用它了。
註意 沒有被引用的對象,解釋器會在隨後某個時候從內存中清除掉。
一個對象可以有多個名字,比如
kid = ‘小明‘ student = kid prettyboy = kid
這樣, 小明
這個字符串對象就有3個 變量名 kid、 student 和 prettyboy
這3個名字 指向同一個對象。
其對應關系如下圖
如果後面的代碼將其中一個變量名進行重新賦值,比如
kid = ‘小周‘
這只會改變kid 一個變量和其指向對象的 關系,並不會改變其他的變量名 student 和 prettyboy
其對應關系如下圖
第二種: 變量 指向的對象 本身發生了變化
這種情況,是當變量指向的對象是可變的數據類型,比如:列表、字典,或者自定義的類實例對象。
這幾種對象類型我們後面會學。
這裏先給大家舉個字典對象的例子
info = {‘name‘ :‘黑羽白月‘, ‘height‘:‘180cm‘} info[‘height‘] = ‘175cm‘ print(info)
第二條語句就是讓變量對應的字典對象的值 發生了變動
註釋
雖然Python語言是一種容易理解和閱讀的編程語言。
但是畢竟不是人類語言。
我們寫的代碼 為了以後 別人能讀懂, 甚至以後自己能看懂, 就需要加入一些我們熟悉的人話,也就是人類語言,輔助理解。
這些輔助理解的人話,就是註釋。
這些人話可以是任何一種語言,只要方便你看懂代碼就行,中文、英文、法文都可以。
Python的註釋以 # 開頭,後面的內容都是註釋
比如
# info 變量 記錄 作者的信息,包括 名字,身高,體重 info = {‘name‘ :‘黑羽白月‘, ‘height‘:‘180cm‘} # 改變 作者的身高記錄 info[‘height‘] = ‘175cm‘ print(info) # 打印身高到屏幕上
怎麽樣,有了上面的註釋,這些代碼是不是更容易讀懂了?
我們要註意的是,通常註釋是不會對代碼的執行有影響的(除了一些非常特殊的註釋,比如代碼開頭的文件編碼註釋,以後會講)
註釋可以單獨作為一行, 比如:
# info 變量 記錄 作者的信息,包括 名字,身高,體重 info = {‘name‘ :‘黑羽白月‘, ‘height‘:‘180cm‘}
也可以接在代碼的後面,比如:
print(info) # 打印身高到屏幕上
也可以連續有多行的註釋,比如:
# info 變量 記錄 作者的信息 # 包括 名字,身高,體重 info = {‘name‘ :‘黑羽白月‘, ‘height‘:‘180cm‘}
所以,如果我們接下來執行下面的代碼
print(kid) print(student) print(prettyboy)
運行結果就是
小周 小明 小明
變量 和 註釋