變量的簡單介紹

一、 變量的聲明

python語言是動態語言

  • 變量不需要事先聲明
  • 變量的類型不需要聲明
  • 每個變量在使用前都必須賦值,變量賦值以後該變量纔會被創建。

在 Python 中,變量就是變量,它沒有類型,我們所說的 類型是變量所指的內存中值的類型。
變量名和變量值之間使用等號進行連接 =

等號左邊成爲 變量名
等號右邊成爲 變量的值

a = 1
a = 'Aldey'

二、 變量命名規則

可以包含以下字符的組合

  • 大小寫字母(a-z,A-Z)
  • 變量名區分大小寫; name 和 Name 是不同的變量
  • 數字(0-9)
  • 下劃線(_)

但是變量名稱不可以 以數字開頭。
錯誤示例: 192_net
正確示例: net_192

三、 變量命名潛規則

  • 基礎知識沒整明白之前,不要以單下劃線和雙下劃線開頭;如:_user 或 __user
  • 變量命名要易讀;如:使用 user_name,而不是 username
  • 不用使用標準庫中(內置)的模塊名或者第三方的模塊名
  • 不要用這些 Python 內置的關鍵字:
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break'
, 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 
'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is',
 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return',
 'try', 'while', 'with', 'yield']
 
 #由於打印效果,上面的輸出格式已做人工處理

四、認清 python 中的變量

在 python 中究竟該如何正確理解變量的賦值過程呢?
比如:

s = 'hello'

以上的變量賦值,應該說成把變量分配給字符串對象 hello 更合理
hello 這個字符串對象會在內存中先被創建,之後再把變量名 s 分配給這個對象。
在這裏插入圖片描述
所以要理解 Python 中的變量賦值,應該始終先看等號右邊。

等號右邊的對象先被創建或者被獲取,在此之後左邊的變量名纔會被分配給hello 這個對象,這就像爲對象貼上了標籤。

變量名本質上可以說是 一個對象的標籤 或者說是 對象的名字。
既然是標籤/名字,那一個對象就可以有多個標籤或者名字。

比如: 張三 和 小張 指的都是同一個人
請看下面的代碼示例:

a = 1
b = a
a = 2
print(b)  # b 會是 ?

a = 1 時如下圖:
在這裏插入圖片描述
b = a 時如下圖:
在這裏插入圖片描述
a = 2 時如下圖:
在這裏插入圖片描述
上面的 b = a 我們稱它爲 傳遞引用,此時對象會擁有兩個名稱(標籤) ,分別是 a 和 b。
這種變量的賦值方式也稱爲引用賦值

五、變量的多元賦值

在 Python3 中你可以這樣給變量賦值

In [2]: x, y, z = 1, 2, 3

In [3]: x
Out[3]: 1

In [4]: y
Out[4]: 2

In [5]: z
Out[5]: 3

當然也可以這樣

In [10]: a, b, c = 'abc'

In [11]: a
Out[11]: 'a'

In [12]: b
Out[12]: 'b'

In [13]: c
Out[13]: 'c'

假如你需要對一個序列類型中的數據進行一一解開賦值,那就需要等號左邊的變量名和序列類型數據中的元素個數相同。

這種多元賦值方式在 Python 中也可以稱爲元組解包。

六、Python 中對象(變量的值)都有三個特性

# 唯一標識,是對象在內存中的整數表示形式,在 CPython 中可以理解爲# 內存地址
# 可以用 id 這個函數查看 
>>> id(10)    # 直接給一個對象
140343799682912

>>> n = 10
>>> id(n)      # 也可以是一個已經賦值過的變量名
140343799682912

# 類型, 對象都有不同的類型,用 type 這個函數查看
>>> n = 10
>>> type(10)    # int 整型
<class 'int'>
>>> type(n)
<class 'int'>

# 值,對象本身
10
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章