無論使用什麼語言程式設計,總要處理資料,處理資料就需要使用變數來儲存資料。
形象地看,變數就像乙個個小容器,用於「盛裝」程式中的資料。常量同樣也用於「盛裝」程式中的資料。常量與變數的區別是:常量一旦儲存某個資料之後,該資料就不能發生改變;但變數儲存的資料則可以多次發生改變,只要程式對變數重新賦值即可。
python 使用等號(=)作為賦值運算子,例如 a = 20 就是一條賦值語句,這條語句用於將 20 裝入變數 a 中,這個過程就被稱為賦值,即將 20 賦值給變數 a。
python 是弱型別語言,弱型別語言有兩個典型特徵:
變數無須宣告即可直接賦值:對乙個不存在的變數賦值就相當於定義了乙個新變數。
變數的資料型別可以動態改變:同乙個變數可以一會兒被賦值為整數值,一會兒被賦值為字串。
對於沒有程式設計基礎的讀者,可以先不編寫真正的 python 程式,而是先開啟 python 的互動式直譯器,在這個互動式直譯器中「試驗」 python。
下面先在 python 直譯器中輸入如下內容:
>>> a = 5
>>>
上面**沒有生成任何輸出,只是向互動式直譯器中存入了乙個變數 a,該變數 a 的值為 5。
如果我們想看到某個變數的值,可以直接在互動式直譯器中輸入該變數。例如,此處想看到變數 a 的值,可以直接輸入 a。
>> a
5>>
從上面的互動式過程可以看到,互動式直譯器輸出變數 a 的值:5。
接下來,如果改變變數 a 的值,只要將新的值賦給(裝入)變數 a 即可,新賦的值會覆蓋原來的值。例如:
a = 'hello , charlie'
>>>
此時變數 a 的值就不再是 5 了,而是字串「hello , charlie」,a 的型別也變成了字串。下面再次輸入 a ,讓互動式直譯器顯示a的值:
>> a
'hello , charlie'
如果想檢視此時 a 的型別,可以使用 python 的 type() 函式。
形象地說,函式就相當於乙個有魔法的「黑盒子」,你可以向這個「黑盒子「提供」一些資料,這個「黑盒子」會對這些資料進行處理,這種處理包括轉換和輸出結果。比如 print() 也是乙個函式,它的作用就是輸出傳入的資料。此處 type() 函式的作用則用於輸出傳入資料的型別。
在互動式直譯器中輸入:
>>> type(a)
>>>
此時可以看到 a 的型別是 str。
將上面的互動過程轉換成真正的 python 程式,只要將互動式過程中輸入的每行**放在乙個檔案中,並使用 print() 函式來輸出變數(在互動式直譯器中只要輸入變數名,互動式直譯器就會輸出變數的值;但在 python 程式中則必須使用 print() 函式來輸出變數),將該檔案儲存為以 .py 結尾的原始檔即可。
上面的互動過程對應的程式如下:
#定義乙個數值型別變數 a = 5 print(a) #重新將字串賦值給a變數 a = 'hello , charlie' print(a) print(type(a))執行上面的程式,沒有任何問題,可以看到如下輸出結果:
5hello , charlie
前面使用 print() 函式時都只輸出了乙個變數,但實際上 print() 函式完全可以同時輸出多個變數,而且它具有更多豐富的功能。
print() 函式的詳細語法格式如下:
print (value,…,sep='',end='n',file=sys.stdout,flush=false)
從上面的語法格式可以看出,value 引數可以接受任意多個變數或值,因此 print() 函式完全可以輸出多個值。例如如下**:
user_name = 'charlie' user_age = 8 #同時輸出多個變數和字串 print("讀者名",user_name,"年齡:",user_age)執行上面**,可以看到如下輸出結果:
讀者名:charlie 年齡:8
從輸出結果來看,使用 print() 函式輸出多個變數時,print() 函式預設以空格隔開多個變數,如果讀者希望改變預設的分隔符,可通過 sep 引數進行設定。例如輸出語句:
#同時輸出多個變數和字串,指定分隔符
print("讀者名:" ,user_name,"年齡:",user_age,sep='|')
執行上面**,可以看到如下輸出結果:
讀者名:|charlie|年齡:|8
在預設情況下,print() 函式輸出之後總會換行,這是因為 print() 函式的 end 引數的預設值是「n」,這個「n」就代表了換行。如果希望 print() 函式輸出之後不會換行,則重設 end 引數即可,例如如下**:
#設定end 引數,指定輸出之後不再換行 print(40,'t',end="") print(5o,'t',end="") print(60,'t',end="")上面三條 print() 語句會執行三次輸出,但由於它們都指定了 end="",因此每條 print() 語句的輸出都不會換行,依然位於同一行。執行上面**,可以看到如下輸出結果:
40 50 60
file 引數指定 print() 函式的輸出目標,file 引數的預設值為 sys.stdout,該預設值代表了系統標準輸出,也就是螢幕,因此 print() 函式預設輸出到螢幕。實際上,完全可以通過改變該引數讓 print() 函式輸出到特定檔案中,例如如下**:
f = open("poem.txt","w")#開啟檔案以便寫入 print('滄海月明珠有淚',file=f) print('藍回日暖玉生煙',file=f) f.close()上面程式中的 open() 函式用於開啟乙個檔案,教程後續章節還會詳細介紹關於檔案操作的內容。
print() 函式的 flush 引數用於控制輸出快取,該引數一般保持為 false 即可,這樣可以獲得較好的效能。
python模組內建變數及其作用
1.file 所在模組 os 變數作用 指向當前檔案 當前檔案的完整路徑 os.path.abspath file 當前檔案所屬目錄 os.path.dirname os.path.abspath file 當前檔案所屬目錄的上級目錄 os.path.dirname os.path.dirname ...
Python偏函式及其使用
首先,先來看一下我們的int函式 int作為函式時有個神奇功能,將字串變為數,比如 123 返回值123。這是乙個整型數。ok,我們再想一下,int 123 當然返回的是123了。如果輸入是 int 123 8 返回是83 int 123 8 83意思是返回8進製的123在十進位制下的表示。這個8,...
Python變數的使用
目錄1.什麼是變數?一種變化的量,量是記錄世界上的狀態,變指得是這些狀態是會變化的。2.為什麼有變數?因為電腦程式的執行就是一系列狀態的變化。3.定義變數 在python中定義變數 name magua age 24 gender man height 168 weight 2504.變數的組成 三...