Python 中的變數還能這樣理解(白話)

可優發表於2019-05-10

一、案例分析

1.思考

Python 中的變數還能這樣理解(白話)

  • 計算軟體測試大佬檸檬小姐姐,每月能存多少錢
# 計算軟體測試大佬檸檬小姐姐,每月能存多少錢
# 座標:深圳

# 2018年1月份
# 房租水電 4000元
# 伙食費 1000元
# 化妝品 800元
print(25000 - 4000 - 1000 - 800)

# 2018年2月份
# 房租水電 4000元
# 吃的比較好,伙食費 1500元
# 買了個lv包包 3000元
print(25000 - 4000 - 1500 - 3000)


2.遇到的痛點

Python 中的變數還能這樣理解(白話)

  • 過了一段時間之後,根本就不記得,這裡的25000、4000這些數字指的是什麼了?
  • 如果計算每個月的開支,對於固定的費用(工資、房租水電等),每個月都要寫一遍,無法簡化計算


3.解決痛點

# 使用標記(變數)來解決痛點

income = 25000       # 工資收入
rent_cost = 4000     # 房租
meals_cost = 1000    # 伙食費
other_cost = 800     # 其他費用

# 2018年1月份
# 房租水電 4000元
# 伙食費 1000元
# 化妝品 800元
print(income - rent_cost - meals_cost - other_cost)

# 2018年2月份
# 房租水電 4000元
# 吃的比較好,伙食費 1500元
# 買了個lv包包 3000元

meals_cost = 1500
other_cost = 3000
print(income - rent_cost - meals_cost - other_cost)


二、什麼是變數

  • 類似便利貼(標籤貼)、名字
    Python 中的變數還能這樣理解(白話)

  • 有個人叫“二狗子”

    1、可以通過“二狗子”這個名字,找到那個人
    2、僅僅通過“二狗子”這個名字,是不知道,他到底是帥、還是醜、是高還是矮、有錢還是沒錢的
    3、只能通過“二狗子”這個名字所對應的那個人,才能知道這些資訊。
    • 可以通過變數訪問所對應的值
    • 變數的型別是由值決定的


三、建立變數

  • 每個變數在使用前都必須賦值(否則會報錯),變數賦值以後,該變數才會被建立
  • 等號=(賦值操作符)用來給變數賦值
    • = 左邊是變數名(最好能做到見名知意)
    • = 右邊是變數所指向的值
變數名 = 值

變數定義之後,後續就可以直接使用了


四、變數結構

  • 類比圖
    • 類似於便利貼,貼在值上面
      Python 中的變數還能這樣理解(白話)
my_int = 103204934813

Python 中的變數還能這樣理解(白話)

  • 在記憶體中的結構
    Python 中的變數還能這樣理解(白話)

  • 與其他開發語言的區別:

  • 在C語言中,變數類似於一個容器,賦給它的值,裝在容器中

    • 定義一個變數 int a = 1; Python 中的變數還能這樣理解(白話)

    • 給變數a重新賦值 a = 2; Python 中的變數還能這樣理解(白話)

    • 把變數a賦值給另外一個變數b int b = a; Python 中的變數還能這樣理解(白話)

      • 會重新建立一個變數b(容器),將a中的內容複製貼上至b中
  • 在python中,變數類似於便利貼(名字)

    • 定義一個變數 a = 1 Python 中的變數還能這樣理解(白話)
    • 給變數a重新賦值 a = 2Python 中的變數還能這樣理解(白話)
    • 把變數a賦值給另外一個變數b b = a Python 中的變數還能這樣理解(白話)
      • 建立新的便利貼b,與a同時貼到值上


五、變數賦值

Python 中的變數還能這樣理解(白話)

  • 最終便利貼b、c貼在3上,a貼在“hello”上
first_list = [10, "可優", False, 18, 20]
second_list = first_list    # first_list和second_list都貼在列表[10, "可優", False, 18, 20]上

id(first_list)   # 2416657034632
id(second_list)  # 2416657034632

# 修改列表,新增一個100這個值
first_list.append(100)

print(first_list)   # [10, '可優', False, 18, 20, 100]
print(second_list)  # [10, '可優', False, 18, 20, 100]


六、變數的命名規則

  • 需要見名知義,通過變數名,就知道它所指向的值是什麼
  • 變數名可以由字母下劃線數字 組成
  • 但是不能以數字開頭
  • 頁不能與關鍵字重名
  • 建議不要與內建函式或者類重名,不然會覆蓋原始內建函式的功能
  • 被視為一種慣例,並無絕對性與強制性
  • 目的是為了 增加程式碼的可讀性

注意 Python中的 識別符號區分大小寫的

Python 中的變數還能這樣理解(白話)

keyou = "哦哦"
KeYou = "哈哈"
keYou = "呵呵"
# keyou、KeYou和keYou是不同的三個變數
  • 在定義變數時,為了保證程式碼可讀性,= 的左右應該各保留一個空格
  • Python 中,如果 變數名 需要由 二個多個單詞 組成時,可以按照以下方式命名:
    • 每個單詞都使用小寫字母
    • 單詞與單詞之間使用 _下劃線 連線
    • 例如:first_namelast_nameyour_nametel_num
  • 例項:

    Conventional Style Unconventional Style Why Unconventional
    my_int myInt camelCase not conventional
    int4 Int4 Upper-case first letter not conventional
    my_first_string myFirstString camelCase not conventional


七、一個變數包含的內容

  • 變數的名稱
  • 變數儲存的資料
  • 變數儲存資料的型別(使用type獲取)
  • 變數的地址(使用id獲取)


八、變數型別案例

需求:定義檸檬小姐姐的個人資訊

  • 姓名:檸檬
  • 年齡:18
  • 性別:不是男生
  • 身高:1.6m
  • 體重:45.5kg
"""
變數的資料型別演練
描述軟體測試大佬檸檬小姐姐的個人資訊
"""
username = "檸檬"     # 為字串str
age = 18              # 為整數int
gender = False        # 為布林bool
height = 1.6          # 為浮點float
weight = 45.5         # 為浮點float


提問

a.一共有幾種資料型別?

  • 4 種
  • str —— 字串
  • int —— 整數
  • bool —— 布林(真假)
  • float —— 浮點數(小數)

b.在 Python 中定義變數時需要指定型別嗎?

  • 不需要(在其他很多高階語言中都需要)
  • Python 可以根據 = 等號右側的值,自動推匯出變數中儲存資料的型別
  • 使用 type 函式可以檢視一個變數的型別


九、變數的型別

  • 資料型別可以分為 數字型非數字型

  • 數字型

    int float complex
    10 0.0 3.14j
    100 15.20 45.j
    -786 -21.9 9.322e-36j
    080 32.3+e18 .876j
    -0490 -90. -.6545+0J
    -0x260 -32.54e100 3e+26J
    0x69 70.2-E12 4.53e-7j
    • 整型 (int)
    • 浮點型(float
    • 布林型(bool
      • True 非 0 數 —— 非零即真
      • False 0
    • 複數型 (complex)
      • 主要用於科學計算,例如:平面場問題、波動問題、電感電容等問題
  • 非數字型

    • 字串
    • 列表
    • 元組
    • 字典

提示:在 Python 2.x 中,整數 根據儲存數值的長度還分為:

  • int(整數)
  • long(長整數)


其他分類方法:

Python 中的變數還能這樣理解(白話)
Python 中的變數還能這樣理解(白話)


  • 例項
my_string = 'Hello, World!'
my_flt = 45.06
my_bool = 5 > 9 #A Boolean value will return either True or False
my_list = ['item_1', 'item_2', 'item_3', 'item_4']
my_tuple = ('one', 'two', 'three')
my_dict = {'letter': 'g', 'number': 'seven', 'symbol': '&'}

相關文章