程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python變量的本質非常詳細

編輯:Python

學過數學方程的讀者都知道:利用方程來解應用題時,常常會設置一個x來代表應用題中的某一個數。在編寫代碼中也類似,會定義一個x(或其他名字)來指代某個數字對應的意義,這個 x 就是作變量。在實際應用中,變量可以指代輸入,也可以指代結果。一旦編好程序後,計算機就會把變量指代的具體數代入到內存裡,並進行運算。

變量是編程語言中最基本的術語,用來代指計算機中存放的可變數據——如整數、小數、字符或被調用的一片內存空間。如:

Val ="hello"

上面的代碼在執行時,系統中就會有一個變量叫 Val,它指向內存中存放字符串 “hello” 所在的位置,如下圖所示:

圖:Python變量

 定義了變量之後,可以通過編寫具體的邏輯對變量進行操作計算,從而實現想要的功能。

變量的規則

在實際情況中,程序需要處理不同類型的變量,所以在Python內部,變量是要分為各種類型的。比如,整型變量只可以代表整數,浮點型變量只可以代表帶小數點的數字,字符型變量只可以代表字符。

編寫 Python 代碼過程中,定義變量與變量賦值必須在同一步完成。Python 內部會根據所賦變量的類型來創建該變量。

例如:定義整型變量 a 等於 5,可以寫成 a=5。這時 Python 會在內存中創建一個類型為整型的變量 a,並讓這個 a 的值為 5。在後面的代碼中用到 a 就相當於用到了數值 5。

變量的本質

Python 語言可以根據賦值的語句來自動創建對應類型的變量,它是怎麼實現的呢?

Python 內部使用了一個對象模型,這個對象模型用來儲存變量及其對應的數據。在Python語言中,任何類型的變量都會被翻譯成一個對象,這就是變量的本質。

Python內部的對象模型由3部分組成:身份、類型和值,具體意義如下:

  • 身份:用來標識對象的唯一的標識。通過調用函數id可以得到它。這個身份標識值可以被理解成該對象的內存地址。
  • 類型:用來表明對象可以存放的類型。具體的類型限制了該對象保存的內容、可以進行的操作、遵循的規則。想要查看某個對象的類型可以調用函數 type()。
  • 值:對象所存儲的具體數值。

定義多個變量

實際寫代碼中,可以通過一條語句定義多個變量,彼此之間用逗號隔開即可。例如,在一條語句中為多個變量同時賦值,如下:
var1,var2,var3=value1,value2,value3

這時,系統會根據 value1、value2、value3 的值類型,分別定義 var1、var2、var3 三個變量,並為它們賦值。例如:

var1,var2,var3 = 2,5,3 #定義var1為2,var2為5,var3為3
print("指針:",id(var1),"類型:",type(var1),"值:",var1) #輸出變量var1、var2、var3的指針、類型、值
print("指針:",id(var2),"類型:",type(var2),"值:",var2)
print("指針:",id(var3),"類型:",type(var3),"值:",var3)

這段程序運行後,輸出的結果為:

指針:1650393616 類型:<class 'int'> 值:2

指針:1650393712 類型:<class 'int'> 值:5

指針:1650393648 類型:<class 'int'> 值:3

不同的 Python 版本對類型的歸類略有差異,這裡以 Python 3 為主。在 Python 3中,所劃分的類型有六種:

  • numbers:數字。
  • string:字符串。
  • tuple:元組。
  • sets:集合。
  • dictionaries:字典。

其中,numbers 類型是一個數值類型的合集,具體又可以細分為 int(整型)、float(浮點型)、bool(布爾型)、complex(復數)等類型。同時每個類型都有其自身的特點和規則。

變量類型的幫助函數

Python 將自身所支持的變量類型定義成了一個個的類,任何類型(numbers、string、list…)都是一個類。每個類都有自己的方法和屬性,通過類的方法和屬性來規范該類型數值的操作。

Python中內置了兩個幫助函數:

  • dir:用來查詢類或者類型的所有屬性,如 dir(list)。
  • help:用來查詢類或者類型具體的說明文檔,如 help(int)。

當您不清楚變量所屬類型時,可以使用上述函數進行查看,這將對您非常有幫助。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved