一、案例分析
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_name
、last_name
、your_name
、tel_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': '&'}