Python的變量、常量
一、什么是變量?
變量從字面意思可以理解成:是變化的量。但是這樣理解和沒有理解貌似沒有什么區別,我們把變量兩個字拆分看看。
我們首先來想想看你是怎么認識我的,今天來你會認識我,明天來你還會認識我。那你是不是記住我這個人的典型特征,比如我的名字Nick、體重140、身高180…世間萬物我們是不是都是這樣去認識的?毫無疑問是的。既然人能識別世間萬物,那么我們之前一直把計算機想象成人,那是不是說計算機也能識別世間萬物呢?對的。計算機通過記錄我們的狀態認識我。這就是量的概念。
- 量:記錄現實世界中的狀態,讓計算機能夠像人一樣去識別世間萬物。
今天我可能180,明年我是不是可能就是185了(5cm不過分),那這種狀態是不是會發生變化。
- 變:現實世界中的狀態是會發生改變的。
二、為什么要有變量?
對于現實世界,一定是要有一個變量來描述世間萬物的。但是計算機為什么也要有變量的概念呢?其實計算機中程序的運行就是一系列狀態的變化,如王者榮耀中賬號等級0級到30級、廢鐵到王者;植物大戰僵尸中僵尸打著打著就死了。
三、定義變量
既然知道了變量是什么玩意,那我們如何在Python中定義變量呢?
- name = 'nick'
- age = 19
- gender = 'male'
- height = 180
- weight = 140
四、變量的組成
從我們上米昂定義的變量可以看到,變量的組成分為以下三個部分:
- 變量名:變量名用來引用變量值,但凡需要用變量值,都需要通過變量名。
- 賦值符號:賦值
- 變量值:存放數據,用來記錄現實世界中的某種狀態。
- name # 報錯,無任何意義
- age = 18
- height = 185
- print(age)
- print(height)
- 18
- 185
五、變量名的命名規范
如果對于一個變量,你想怎么命名就怎么命名,那樣沒有任何問題,頂多就是晚上老板檢查代碼后,你第二天不用去公司了。
- sfasfewfasdfa='nick'
- print(sfasfewfasdfa)
- nick
一定要記住,定義一個變量其實就是在記錄現實世界中的的狀態,并且存永遠不是目的,取才是目的。所以變量的命名應該滿足以下三個規范:
- 變量的命名應該能反映變量值所描述的狀態,切記不可用中文
- 變量名必須用字母數字下劃線組合,并且變量名的第一個字符不能是數字。
- 關鍵字不能聲明為變量名
- ['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']
六、變量名的兩種風格
6.1 駝峰體
- AgeOfNick = 19
- print(AgeOfNick)
6.2 下劃線(推薦)
- age_of_nick = 19
- print(age_of_nick)
注意:以上兩種變量名的風格,推薦使用下劃線的風格。
常量
變量是變化的量,常量則是不變的量。python中沒有使用語法強制定義常量,也就是說,python中定義常量本質上就是變量。如果非要定義常量,變量名必須全大寫。
- AGE_OF_NICK = 19
- print(AGE_OF_NICK)
- 19
- AGE_OF_NICKAGE_OF_NICK = AGE_OF_NICK + 1
- print(AGE_OF_NICK)
- 20
如果是常量,那就沒必要更改,所以python就只制定了一個規范,而沒指定常量的語法,因此常量也是可以修改的,但不建議。
在c語言中有專門的常量定義語法,const int age = 19; 一旦定義age為常量,更改age即會報錯。