1. 程式人生 > 實用技巧 >淺談 python變數

淺談 python變數

python變數概念

程式執行的過程中,很多資料都在變化的過程,我們需要一種機制把這種變化體現出來,變數是我們記錄這種變化的方式。

python以及其它各種語言的變數 ,其作用都是用於存資料的,可以存動態的資料,大小,速度, 也可以存相對靜態的資料,如性別 年齡等。

我們之所以需要變數去存資料,是為了在程式執行過程中後面去取出來變數的值,存的目的是為了取,為了使用。 存是手段,取才是目的

變數的使用原則: 先定義 後引用

name = 'alin'
print(name)

alin

變數的三大組成部分

變數名字 賦值符號 變數的值

變數名的要求

上面說過 變數的作用是存數值,為了方便後面的使用,當我們在使用變數的值的時候 是通過變數名把值取出來的,所以在命令變數名的時候,要儘量做到,見名知意。什麼意思那 比如我們給30個小朋友起名字 為了區分男女,女孩名字一般叫 什麼花 什麼芬 什麼雅, 男孩叫 什麼勇 什麼壯,什麼巨集 這樣當我們看到名字的時候 不用去檢視詳細的個人資料就能知道小朋友的性別,總結一句話

不要給小女孩起名 王大錘

python對變數名的命名也有一些具體的要求

  1. 變數名只能是 字母、數字或下劃線的任意組合

    像我們的名字 只能出現漢字和阿拉伯字母,你給自己起名 劉? 試試民政局的人打不打你)

  2. 變數名的第一個字元不能是數字

    (就像我們的名字第一個是姓氏,python 變數的姓氏不能是數字)

  3. 關鍵字不能宣告為變數名,常用關鍵字如下

    故名思意 下面這些變數名python自己用了 你就別用了

    import keyword
    print(keyword.kwlist)
    
    

    ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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的命名風格推薦小寫字母+下劃線的方式

    age_student = 20
    

變數的三個特性

  1. id : 反映的是變數在記憶體中的地址,記憶體地址不同,則id不同,

我們可以把記憶體當成酒莊 變數名就是酒瓶上的名字 記憶體地址就是酒瓶 變數的值就是裡面的酒。

name = 'alin'
print(id(name))

2683195291888

  1. type:不同型別的值用來表示記錄不同的狀態

    name = 'alin'
    print(type(name))
    

    <class 'str'>

  2. value:值

    name = 'alin'
    print(name)
    

    alin

  3. 變數的比較

    is與==

    1. is 比較左右兩個值的身份是否相同, 酒莊舉例 這輛到底是不是一瓶酒

    2. == 比較左右兩邊的值是否相同 酒莊舉例 這兩瓶裝的到底是不是一樣的酒

      x = 'info:age:18'
      y = 'info:age:18'
      print(id(x))
      print(id(y))
      print(x == y)
      print(x is y)
      
      

      3019507091920
      1512378137008
      True
      False

      注: pycharm中會做記憶體優化 需要在命令列操作驗證

      得出的結果x和y是相等的 但是x不是y

      小整數池[-5,256] 在python中 一些常用的值 python會預先開闢出一塊空間,相同的變數的值直接取用,不在另外開闢記憶體空間,節省記憶體

      x = -5
      y = -5
      print(id(x))
      print(id(y))
      

      140718716872320
      140718716872320

      x = -6
      y = -6
      print(id(x))
      print(id(y))
      

      1908425730864
      1908425728176

      x = 256
      y = 256
      print(id(x))
      print(id(y))
      

      140718716864064
      140718716864064

      x = 257
      y = 257
      print(id(x))
      print(id(y))
      

      2290485209904
      2290485207216

      注意:python語法中沒有常量的概念,但是在程式的開發過程中會涉及到常量的概念

      AGE_OF_ALIN = 73 # 小寫字母全為大寫代表常量,這只是一種約定、規範

      AGE_OF_ALIN='19'
      print(AGE_OF_ALIN)
      

      19