『無為則無心』Python基礎 — 7、Python的變數

1、變數的定義

程式中,數據都是臨時存儲在記憶體中,為了更快速的查找或使用這個數據,通常我們把這個數據在記憶體中存儲之後,給整個數據定義一個名稱,這個名稱就是變數。

變數就是在存儲數據的時候,當前數據所在的記憶體地址的一個名字而已。

2、Python變數說明

  • Python中使用變數,不需要聲明,直接為變數賦值即可。
  • 在Python中,可以把任意數據類型賦值給變數,同一個變數可以反覆賦值,而且可以是不同類型的數據。
    這種變數本身類型不固定的語言稱之為動態類型語言,與之對應的是靜態類型語言。靜態類型語言在定義變數時必須指定變數類型,如果賦值的時候類型不匹配,就會報錯,例如Java是靜態類型語言。和靜態類型語言相比,動態類型語言更靈活,就是這個原因。
  • 不能使用沒有進行過賦值的變數,如果使用沒有賦值過的變數,會報錯 NameError: name '變數名' is not defined
    # 直接執行下面命令
    # 結果:NameError: name 'a' is not defined
    print(a)
    

3、Python中定義變數

(1)定義語法

Python中定義變數的語法如下:

變數名 = 值
  • 變數名自定義,要滿足標識符命名規則。
  • 編程中的等號是賦值的意思,程式在執行的時候是先計算等號右邊的值,存儲在一個記憶體空間中,然後把整個值存儲的地址賦值給等號左邊的變數。

(2)標識符定義規則

變數名、函數名、類名、包名、模組名等統稱為標識符。

標識符命名規則是Python中定義各種名字的時候的統一規範,具體如下:

  • 由數字、字母、下劃線組成。
  • 不能數字開頭。
  • 嚴格區分大小寫。
  • 不能使用內置關鍵字和保留字。

(3)內置關鍵字

被Python語言賦予了特定含義的一些字元,換句話說就是Python保留給自己的標識符。這些標識符我們不能再使用如果我們在進行定義,就會產生衝突。

Python中所有關鍵字都為小寫字母,如下:

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 API裡面的函數名作為標識符,因為這樣會導致函數被覆蓋。(以後常用就知道了)

(4)標識符命名習慣

上邊是定義標識符的規則,必須要遵守。命名習慣是一種標準的規範,不遵守也沒事,只是不專業。

命名習慣類型

  • 見名知義:為了提高閱讀性,經常用有意義的英文單詞作為標識符。
  • 大駝峰:即每個單詞首字母都大寫,例如:MyName
  • 小駝峰:第二個(含)以後的單詞首字母大寫,例如:myName
  • 下劃線:例如:my_name

Python具體名稱規範

  • 包名:多單片語成時所有字母都小寫。例如:xxxyyyzzz
  • 類名介面名:多單片語成時,所有單詞的首字母大寫。例如:XxxYyyZzz
  • 變數名和函數名:多單片語成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大寫。例如:xxxYyyZzz
  • 常量名:所有字母都大寫。多單詞時每個單詞用下劃線連接。例如:XXX_YYY_ZZZ

4、使用變數

在Python中,先要定義一個變數,才能夠使用一個變數。

#定義變數
my_name = 'TOM'
#使用變數
print(my_name)

schoolName = '小二郎的學堂'
print(schoolName)

Python解釋器在執行程式碼的過程當中,是按照程式碼的書寫順序,自上而下,一行一行順序執行的。

Tips:應用程式執行原理

image

  • 程式 運行之前,程式是 保存在硬碟 中的。
  • 當要運行一個程式時:
    • 作業系統會首先讓 CPU 把程式複製到 記憶體 中。
    • CPU 執行 記憶體 中的 程式程式碼。
  • 即:程式要執行,首先要被載入到記憶體

Tips:Python 程式執行原理

image

  • 作業系統會首先讓 CPUPython 解釋器 的程式複製到 記憶體 中。
  • Python 解釋器 根據語法規則,從上向下 翻譯 Python 程式中的程式碼。
  • CPU 負責執行翻譯完成的程式碼。

參考://www.liaoxuefeng.com/wiki/1016959663602400/1017063826246112