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


一、案例分析

1.思考

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

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

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


2.遇到的痛點

  • 過了一段時間之后,根本就不記得,這里的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)


二、什么是變量

  • 類似便利貼(標簽貼)、名字

  • 有個人叫“二狗子”

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

三、創建變量

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

變量定義之后,后續就可以直接使用了


四、變量結構

  • 類比圖
    • 類似於便利貼,貼在值上面
my_int = 103204934813

  • 在內存中的結構

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

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

    • 定義一個變量 int a = 1;

    • 給變量a重新賦值 a = 2;

    • 把變量a賦值給另外一個變量b int b = a;

      • 會重新創建一個變量b(容器),將a中的內容復制粘貼至b中
  • 在python中,變量類似於便利貼(名字)

    • 定義一個變量 a = 1
    • 給變量a重新賦值 a = 2
    • 把變量a賦值給另外一個變量b b = a
      • 創建新的便利貼b,與a同時貼到值上

五、變量賦值

  • 最終便利貼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中的 標識符區分大小寫的

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(長整數)

其他分類方法:



  • 實例
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': '&'}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM