程序就是用來處理數(shù)據(jù)的,而變量就是用來存儲數(shù)據(jù)的
目標(biāo)
變量定義
變量的類型
變量的命名
01. 變量定義
在 Python 中,每個變量 在使用前都必須賦值乘综,變量 賦值以后 該變量 才會被創(chuàng)建
等號(=)用來給變量賦值
= 左邊是一個變量名
= 右邊是存儲在變量中的值
變量名=值
變量定義之后套硼,后續(xù)就可以直接使用了
1) 變量演練1 —— iPython
# 定義 qq_number 的變量用來保存 qq 號碼
In[1]:qq_number="1234567"
?
# 輸出 qq_number 中保存的內(nèi)容
In[2]:qq_number
Out[2]:'1234567'
?
# 定義 qq_password 的變量用來保存 qq 密碼
In[3]:qq_password="123"
?
# 輸出 qq_password 中保存的內(nèi)容
In[4]:qq_password
Out[4]:'123'
使用交互式方式邪意,如果要查看變量內(nèi)容九妈,直接輸入變量名即可雾鬼,不需要使用 print 函數(shù)
2) 變量演練 2 —— PyCharm
# 定義 qq 號碼變量
qq_number="1234567"
?
# 定義 qq 密碼變量
qq_password="123"
?
# 在程序中萌朱,如果要輸出變量的內(nèi)容,需要使用 print 函數(shù)
print(qq_number)
print(qq_password)
使用解釋器執(zhí)行策菜,如果要輸出變量的內(nèi)容晶疼,必須要要使用 print 函數(shù)
3) 變量演練 3 —— 超市買蘋果
可以用 其他變量的計算結(jié)果 來定義變量
變量定義之后,后續(xù)就可以直接使用了
需求
蘋果的價格是 8.5 元/斤
買了 7.5 斤 蘋果
計算付款金額
# 定義蘋果價格變量
price=8.5
?
# 定義購買重量
weight=7.5
?
# 計算金額
money=price*weight
?
print(money)
思考題
如果 只要買蘋果同衣,就返 5 塊錢
請重新計算購買金額
# 定義蘋果價格變量
price=8.5
?
# 定義購買重量
weight=7.5
?
# 計算金額
money=price*weight
?
# 只要買蘋果就返 5 元
money=money-5
print(money)
提問
上述代碼中,一共定義有幾個變量棵癣?
三個:price/weight/money
money = money - 5 是在定義新的變量還是在使用變量河劝?
直接使用之前已經(jīng)定義的變量
變量名 只有在 第一次出現(xiàn) 才是 定義變量
變量名 再次出現(xiàn)颊咬,不是定義變量,而是直接使用之前定義過的變量
在程序開發(fā)中,可以修改之前定義變量中保存的值嗎票髓?
可以
變量中存儲的值,就是可以 變 的
02. 變量的類型
在內(nèi)存中創(chuàng)建一個變量铣耘,會包括:
變量的名稱
變量保存的數(shù)據(jù)
變量存儲數(shù)據(jù)的類型
變量的地址(標(biāo)示)
2.1 變量類型的演練 —— 個人信息
需求
定義變量保存小明的個人信息
姓名:小明
年齡:18 歲
性別:是男生
身高:1.75 米
體重:75.0 公斤
利用 單步調(diào)試 確認(rèn)變量中保存數(shù)據(jù)的類型
提問
在演練中洽沟,一共有幾種數(shù)據(jù)類型?
4 種
str —— 字符串
bool —— 布爾(真假)
int —— 整數(shù)
float —— 浮點數(shù)(小數(shù))
在 Python 中定義變量時需要指定類型嗎蜗细?
不需要
Python 可以根據(jù) = 等號右側(cè)的值裆操,自動推導(dǎo)出變量中存儲數(shù)據(jù)的類型
2.2 變量的類型
在 Python 中定義變量是 不需要指定類型(在其他很多高級語言中都需要)
數(shù)據(jù)類型可以分為 數(shù)字型 和 非數(shù)字型
數(shù)字型
整型 (int)
浮點型(float)
布爾型(bool)
真 True 非 0 數(shù) —— 非零即真
假 False 0
復(fù)數(shù)型 (complex)
主要用于科學(xué)計算怒详,例如:平面場問題、波動問題踪区、電感電容等問題
非數(shù)字型
字符串
列表
元組
字典
提示:在 Python 2.x 中昆烁,整數(shù) 根據(jù)保存數(shù)值的長度還分為:
int(整數(shù))
long(長整數(shù))
使用 type 函數(shù)可以查看一個變量的類型
In[1]:type(name)
2.3 不同類型變量之間的計算
1) 數(shù)字型變量 之間可以直接計算
在 Python 中,兩個數(shù)字型變量是可以直接進(jìn)行 算數(shù)運算的
如果變量是 bool 型缎岗,在計算時
True 對應(yīng)的數(shù)字是 1
False 對應(yīng)的數(shù)字是 0
演練步驟
定義整數(shù) i = 10
定義浮點數(shù) f = 10.5
定義布爾型 b = True
在 iPython 中静尼,使用上述三個變量相互進(jìn)行算術(shù)運算
2) 字符串變量 之間使用 + 拼接字符串
在 Python 中,字符串之間可以使用 + 拼接生成新的字符串
In[1]:first_name="三"
?
In[2]:last_name="張"
?
In[3]:first_name+last_name
Out[3]:'三張'
3) 字符串變量 可以和 整數(shù) 使用 * 重復(fù)拼接相同的字符串
In[1]:"-"*50
Out[1]:'--------------------------------------------------'
4) 數(shù)字型變量 和 字符串 之間 不能進(jìn)行其他計算
In[1]:first_name="zhang"
?
In[2]:x=10
?
In[3]:x+first_name
---------------------------------------------------------------------------
TypeError:unsupportedoperandtype(s)for+:'int'and'str'
類型錯誤:`+`不支持的操作類型:`int`和`str`
2.4 變量的輸入
所謂 輸入传泊,就是 用代碼 獲取 用戶通過 鍵盤 輸入的信息
例如:去銀行取錢鼠渺,在 ATM 上輸入密碼
在 Python 中,如果要獲取用戶在 鍵盤 上的輸入信息眷细,需要使用到 input 函數(shù)
1) 關(guān)于函數(shù)
一個 提前準(zhǔn)備好的功能(別人或者自己寫的代碼)拦盹,可以直接使用,而 不用關(guān)心內(nèi)部的細(xì)節(jié)
目前已經(jīng)學(xué)習(xí)過的函數(shù)
函數(shù)說明
print(x)將 x 輸出到控制臺
type(x)查看 x 的變量類型
2) input 函數(shù)實現(xiàn)鍵盤輸入
在 Python 中可以使用 input 函數(shù)從鍵盤等待用戶的輸入
用戶輸入的 任何內(nèi)容 Python 都認(rèn)為是一個 字符串
語法如下:
字符串變量=input("提示信息:")
3) 類型轉(zhuǎn)換函數(shù)
函數(shù)說明
int(x)將 x 轉(zhuǎn)換為一個整數(shù)
float(x)將 x 轉(zhuǎn)換到一個浮點數(shù)
4) 變量輸入演練 —— 超市買蘋果增強版
需求
收銀員輸入 蘋果的價格溪椎,單位:元/斤
收銀員輸入 用戶購買蘋果的重量普舆,單位:斤
計算并且 輸出 付款金額
演練方式 1
# 1. 輸入蘋果單價
price_str=input("請輸入蘋果價格:")
?
# 2. 要求蘋果重量
weight_str=input("請輸入蘋果重量:")
?
# 3. 計算金額
# 1> 將蘋果單價轉(zhuǎn)換成小數(shù)
price=float(price_str)
?
# 2> 將蘋果重量轉(zhuǎn)換成小數(shù)
weight=float(weight_str)
?
# 3> 計算付款金額
money=price*weight
?
print(money)
提問
演練中,針對 價格 定義了幾個變量校读?
兩個
price_str 記錄用戶輸入的價格字符串
price 記錄轉(zhuǎn)換后的價格數(shù)值
思考 —— 如果開發(fā)中沼侣,需要用戶通過控制臺 輸入 很多個 數(shù)字,針對每一個數(shù)字都要定義兩個變量地熄,方便嗎华临?
演練方式 2 —— 買蘋果改進(jìn)版
定義 一個 浮點變量 接收用戶輸入的同時,就使用 float 函數(shù)進(jìn)行轉(zhuǎn)換
price=float(input("請輸入價格:"))
改進(jìn)后的好處:
節(jié)約空間端考,只需要為一個變量分配空間
起名字方便雅潭,不需要為中間變量起名字
改進(jìn)后的“缺點”:
初學(xué)者需要知道,兩個函數(shù)能夠嵌套使用却特,稍微有一些難度
提示
如果輸入的不是一個數(shù)字扶供,程序執(zhí)行時會出錯,有關(guān)數(shù)據(jù)轉(zhuǎn)換的高級話題裂明,后續(xù)會講椿浓!
2.5 變量的格式化輸出
蘋果單價 9.00 元/斤,購買了 5.00 斤闽晦,需要支付 45.00 元
在 Python 中可以使用 print 函數(shù)將信息輸出到控制臺
如果希望輸出文字信息的同時扳碍,一起輸出 數(shù)據(jù),就需要使用到 格式化操作符
% 被稱為 格式化操作符仙蛉,專門用于處理字符串中的格式
包含 % 的字符串笋敞,被稱為 格式化字符串
% 和不同的 字符 連用,不同類型的數(shù)據(jù) 需要使用 不同的格式化字符
格式化字符含義
%s字符串
%d有符號十進(jìn)制整數(shù)荠瘪,%06d 表示輸出的整數(shù)顯示位數(shù)夯巷,不足的地方使用 0 補全
%f浮點數(shù)赛惩,%.2f 表示小數(shù)點后只顯示兩位
%%輸出 %
語法格式如下:
print("格式化字符串"%變量1)
?
print("格式化字符串"%(變量1,變量2...))
格式化輸出演練 —— 基本練習(xí)
需求
定義字符串變量 name,輸出 我的名字叫 小明趁餐,請多多關(guān)照喷兼!
定義整數(shù)變量 student_no,輸出 我的學(xué)號是 000001
定義小數(shù) price后雷、weight季惯、money,輸出 蘋果單價 9.00 元/斤喷面,購買了 5.00 斤星瘾,需要支付 45.00 元
定義一個小數(shù) scale,輸出 數(shù)據(jù)比例是 10.00%
print("我的名字叫 %s惧辈,請多多關(guān)照!"%name)
print("我的學(xué)號是 %06d"%student_no)
print("蘋果單價 %.02f 元/斤磕瓷,購買 %.02f 斤盒齿,需要支付 %.02f 元"%(price,weight,money))
print("數(shù)據(jù)比例是 %.02f%%"%(scale*100))
課后練習(xí) —— 個人名片
需求
在控制臺依次提示用戶輸入:姓名、公司困食、職位边翁、電話、郵箱
按照以下格式輸出:
**************************************************
公司名稱
?
姓名 (職位)
?
電話:電話
郵箱:郵箱
**************************************************
實現(xiàn)代碼如下:
"""
在控制臺依次提示用戶輸入:姓名硕盹、公司符匾、職位、電話瘩例、電子郵箱
"""
name=input("請輸入姓名:")
company=input("請輸入公司:")
title=input("請輸入職位:")
phone=input("請輸入電話:")
email=input("請輸入郵箱:")
?
print("*"*50)
print(company)
print()
print("%s (%s)"%(name,title))
print()
print("電話:%s"%phone)
print("郵箱:%s"%email)
print("*"*50)
?