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