Python變量基礎
大家好,歡迎來到 Crossin的編程教室 !
1. 什么是變量
所謂「變量」,就是可以變化的量。(這解釋真是聽君一席話,如聽一席話)
這一概念來源于數(shù)學,用在編程領域中,是指計算機語言中能儲存計算結(jié)果或能表示值的抽象概念。
變量可以通過變量名訪問。上一次我們聊過 Python 中變量名的命名規(guī)則(Python到底能不能用中文變量名?),今天我們再聊聊更多關于變量的事。
2. 為什么要有變量
有個剛學 Python 第一天的同學問:
不懂為啥要用變量,需要什么值直接寫就好了,干嘛還多此一舉?
如果我們的程序都只是輸出“Hello World”或做簡單的四則運算,當然可以不用變量。
但實際的程序并不會這么簡單。
在代碼中,所有我們看到的符號、數(shù)字、字母、文字等,統(tǒng)稱為數(shù)據(jù)。計算機程序就是由這些數(shù)據(jù)按照一定的語法規(guī)則組成的。
一個真正的程序里面會有各種數(shù)據(jù),這些數(shù)據(jù)不可能都是固定不變的,會需要進行計算和處理。為了更方便地使用這些數(shù)據(jù),我們要給這些數(shù)據(jù)取名字。簡單來說,變量就是數(shù)據(jù)的名字,用以存取數(shù)據(jù),通過不同的變量名區(qū)別不同的數(shù)據(jù)。
比如一個游戲里的角色,它所處的位置、它的等級、它攻擊力、防御力、當前的血量等等,這些數(shù)據(jù)都需要用變量來管理。一個蘿卜一個坑,一個數(shù)值也要關聯(lián)到一個變量上,程序才好處理它。
3. 變量的使用
使用變量無非兩種情況,一是存放數(shù)值,二是提取存放的數(shù)值。
在 Python 語言中,變量需要遵循「先創(chuàng)建,后使用」的原則。
Python 中要創(chuàng)建一個變量,就是用等號(=)向一個變量名賦值。如:
這就創(chuàng)建了一個值為 1 的變量 a。
然后你就可以使用這個變量。如:
大家好,歡迎來到 Crossin的編程教室 !
1. 什么是變量
所謂「變量」,就是可以變化的量。(這解釋真是聽君一席話,如聽一席話)
這一概念來源于數(shù)學,用在編程領域中,是指計算機語言中能儲存計算結(jié)果或能表示值的抽象概念。
變量可以通過變量名訪問。上一次我們聊過 Python 中變量名的命名規(guī)則(Python到底能不能用中文變量名?),今天我們再聊聊更多關于變量的事。
2. 為什么要有變量
有個剛學 Python 第一天的同學問:
不懂為啥要用變量,需要什么值直接寫就好了,干嘛還多此一舉?
如果我們的程序都只是輸出“Hello World”或做簡單的四則運算,當然可以不用變量。
但實際的程序并不會這么簡單。
在代碼中,所有我們看到的符號、數(shù)字、字母、文字等,統(tǒng)稱為數(shù)據(jù)。計算機程序就是由這些數(shù)據(jù)按照一定的語法規(guī)則組成的。
一個真正的程序里面會有各種數(shù)據(jù),這些數(shù)據(jù)不可能都是固定不變的,會需要進行計算和處理。為了更方便地使用這些數(shù)據(jù),我們要給這些數(shù)據(jù)取名字。簡單來說,變量就是數(shù)據(jù)的名字,用以存取數(shù)據(jù),通過不同的變量名區(qū)別不同的數(shù)據(jù)。
比如一個游戲里的角色,它所處的位置、它的等級、它攻擊力、防御力、當前的血量等等,這些數(shù)據(jù)都需要用變量來管理。一個蘿卜一個坑,一個數(shù)值也要關聯(lián)到一個變量上,程序才好處理它。
3. 變量的使用
使用變量無非兩種情況,一是存放數(shù)值,二是提取存放的數(shù)值。
在 Python 語言中,變量需要遵循「先創(chuàng)建,后使用」的原則。
Python 中要創(chuàng)建一個變量,就是用等號(=)向一個變量名賦值。如:
a = 1
這就創(chuàng)建了一個值為 1 的變量 a。
然后你就可以使用這個變量。如:
print(a)
或者用它去創(chuàng)建另一個變量。如:
b = a + 2
既然都說了是“變”量,那自然也可以給變量重新賦值。如:
a = 3
這樣 a 的值就被修改為了 3。
如果直接使用一個沒有賦值過的變量名,會引發(fā)一個名稱未定義的 NameError 錯誤,導致程序中斷。如:
print(x)
會報錯:
NameError: name 'x' is not defined
4. 變量的類型
程序中的數(shù)據(jù)多種多樣,有數(shù)字,有文本,還有復雜的復合結(jié)構(gòu)。為了便于管理,需要有相對應的數(shù)據(jù)類型。
Python 是一門動態(tài)類型的語言,與 C、C++ 等靜態(tài)編程語言不同,在創(chuàng)建變量時不需要指定變量類型。而是根據(jù)給它賦值的類型確定,并且是可變的。
比如:
a = 1
print(type(a))
Python 內(nèi)置的 type 函數(shù)可以查看一個變量的類型。這里可以看到輸出為 <class 'int'>,即整數(shù)類型。
如果在這兩句之后再加上:
a = 'a'
print(type(a))
程序并不會報錯,并輸出 <class 'str'>,即變量 a 已被修改為字符串類型。
關于類型的更多內(nèi)容,我將在之后詳聊,今天就不展開了。
5. 新手問題
如果你問我,新手最常遇到的變量問題是什么?結(jié)果可能會讓你大跌眼鏡。
因為就我的經(jīng)驗,很多初學者都會踩到的一個坑是:
拼錯變量名!
比如前面賦值了個變量叫 name,結(jié)果過了幾行,又寫成了 mame。于是就得到一個這樣的 NameError 報錯:
所以,如果你看到報錯莫名地說你某個變量 not defined,那就找找看所有用到的地方是不是有拼寫錯了。
當然咯,這時候就體現(xiàn)出 IDE 的作用了:一個合格的 IDE 會給你拼錯的變量名劃上波浪線。
對于 Python 的變量,你還要什么想了解的內(nèi)容?歡迎在留言區(qū)討論。
或者用它去創(chuàng)建另一個變量。如:
既然都說了是“變”量,那自然也可以給變量重新賦值。如:
這樣 a 的值就被修改為了 3。
如果直接使用一個沒有賦值過的變量名,會引發(fā)一個名稱未定義的 NameError 錯誤,導致程序中斷。如:
會報錯:
4. 變量的類型
程序中的數(shù)據(jù)多種多樣,有數(shù)字,有文本,還有復雜的復合結(jié)構(gòu)。為了便于管理,需要有相對應的數(shù)據(jù)類型。
Python 是一門動態(tài)類型的語言,與 C、C++ 等靜態(tài)編程語言不同,在創(chuàng)建變量時不需要指定變量類型。而是根據(jù)給它賦值的類型確定,并且是可變的。
比如:
Python 內(nèi)置的 type 函數(shù)可以查看一個變量的類型。這里可以看到輸出為 <class 'int'>,即整數(shù)類型。
如果在這兩句之后再加上:
程序并不會報錯,并輸出 <class 'str'>,即變量 a 已被修改為字符串類型。
關于類型的更多內(nèi)容,我將在之后詳聊,今天就不展開了。
5. 新手問題
如果你問我,新手最常遇到的變量問題是什么?結(jié)果可能會讓你大跌眼鏡。
因為就我的經(jīng)驗,很多初學者都會踩到的一個坑是:
拼錯變量名!
比如前面賦值了個變量叫 name,結(jié)果過了幾行,又寫成了 mame。于是就得到一個這樣的 NameError 報錯:

所以,如果你看到報錯莫名地說你某個變量 not defined,那就找找看所有用到的地方是不是有拼寫錯了。
當然咯,這時候就體現(xiàn)出 IDE 的作用了:一個合格的 IDE 會給你拼錯的變量名劃上波浪線。

對于 Python 的變量,你還要什么想了解的內(nèi)容?歡迎在留言區(qū)討論。
