程序就是用來處理數(shù)據(jù)的,而變量就是用來存儲數(shù)據(jù)的
目標
變量定義
變量的類型
變量的命名
- 變量定義
在 Python 中,每個變量 在使用前都必須賦值锅棕,變量 賦值以后 該變量 才會被創(chuàng)建
等號(=)用來給變量賦值
= 左邊是一個變量名
= 右邊是存儲在變量中的值
變量名 = 值
變量定義之后,后續(xù)就可以直接使用了
- 變量演練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 —— 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 —— 超市買蘋果
可以用 其他變量的計算結(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ā)中,可以修改之前定義變量中保存的值嗎嫂冻?
可以
變量中存儲的值胶征,就是可以 變 的
- 變量的類型
在內(nèi)存中創(chuàng)建一個變量,會包括:
變量的名稱
變量保存的數(shù)據(jù)
變量存儲數(shù)據(jù)的類型
變量的地址(標示)
2.1 變量類型的演練 —— 個人信息
需求
定義變量保存小明的個人信息
姓名:小明
年齡:18 歲
性別:是男生
身高:1.75 米
體重:75.0 公斤
利用 單步調(diào)試 確認變量中保存數(shù)據(jù)的類型
提問
在演練中桨仿,一共有幾種數(shù)據(jù)類型睛低?
4 種
str —— 字符串
bool —— 布爾(真假)
int —— 整數(shù)
float —— 浮點數(shù)(小數(shù))
在 Python 中定義變量時需要指定類型嗎?
不需要
Python 可以根據(jù) = 等號右側(cè)的值服傍,自動推導出變量中存儲數(shù)據(jù)的類型
2.2 變量的類型
在 Python 中定義變量是 不需要指定類型(在其他很多高級語言中都需要)
數(shù)據(jù)類型可以分為 數(shù)字型 和 非數(shù)字型
數(shù)字型
整型 (int)
浮點型(float)
布爾型(bool)
真 True 非 0 數(shù) —— 非零即真
假 False 0
復數(shù)型 (complex)
主要用于科學計算暇昂,例如:平面場問題、波動問題伴嗡、電感電容等問題
非數(shù)字型
字符串
列表
元組
字典
提示:在 Python 2.x 中,整數(shù) 根據(jù)保存數(shù)值的長度還分為:
int(整數(shù))
long(長整數(shù))
使用 type 函數(shù)可以查看一個變量的類型
In [1]: type(name)
2.3 不同類型變量之間的計算
- 數(shù)字型變量 之間可以直接計算
在 Python 中从铲,兩個數(shù)字型變量是可以直接進行 算數(shù)運算的
如果變量是 bool 型瘪校,在計算時
True 對應(yīng)的數(shù)字是 1
False 對應(yīng)的數(shù)字是 0
演練步驟
定義整數(shù) i = 10
定義浮點數(shù) f = 10.5
定義布爾型 b = True
在 iPython 中,使用上述三個變量相互進行算術(shù)運算
- 字符串變量 之間使用 + 拼接字符串
在 Python 中,字符串之間可以使用 + 拼接生成新的字符串
In [1]: first_name = "三"
In [2]: last_name = "張"
In [3]: first_name + last_name
Out[3]: '三張'
字符串變量 可以和 整數(shù) 使用 * 重復拼接相同的字符串
In [1]: "-" * 50
Out[1]: '--------------------------------------------------'數(shù)字型變量 和 字符串 之間 不能進行其他計算
In [1]: first_name = "zhang"
In [2]: x = 10
In [3]: x + first_name
TypeError: unsupported operand type(s) for +: 'int' and 'str'
類型錯誤:+
不支持的操作類型:int
和 str
2.4 變量的輸入
所謂 輸入阱扬,就是 用代碼 獲取 用戶通過 鍵盤 輸入的信息
例如:去銀行取錢泣懊,在 ATM 上輸入密碼
在 Python 中,如果要獲取用戶在 鍵盤 上的輸入信息麻惶,需要使用到 input 函數(shù)
- 關(guān)于函數(shù)
一個 提前準備好的功能(別人或者自己寫的代碼)馍刮,可以直接使用,而 不用關(guān)心內(nèi)部的細節(jié)
目前已經(jīng)學習過的函數(shù)
函數(shù)
說明
print(x)
將 x 輸出到控制臺
type(x)
查看 x 的變量類型
- input 函數(shù)實現(xiàn)鍵盤輸入
在 Python 中可以使用 input 函數(shù)從鍵盤等待用戶的輸入
用戶輸入的 任何內(nèi)容 Python 都認為是一個 字符串
語法如下:
字符串變量 = input("提示信息:")
- 類型轉(zhuǎn)換函數(shù)
函數(shù) 描述
int(x [,base])
將x轉(zhuǎn)換為一個整數(shù)
long(x [,base] )
將x轉(zhuǎn)換為一個長整數(shù)
float(x)
將x轉(zhuǎn)換到一個浮點數(shù)
complex(real [,imag])
創(chuàng)建一個復數(shù)
str(x)
將對象 x 轉(zhuǎn)換為字符串
repr(x)
將對象 x 轉(zhuǎn)換為表達式字符串
eval(str)
用來計算在字符串中的有效Python表達式,并返回一個對象
tuple(s)
將序列 s 轉(zhuǎn)換為一個元組
list(s)
將序列 s 轉(zhuǎn)換為一個列表
set(s)
轉(zhuǎn)換為可變集合
dict(d)
創(chuàng)建一個字典窃蹋。d 必須是一個序列 (key,value)元組卡啰。
frozenset(s)
轉(zhuǎn)換為不可變集合
chr(x)
將一個整數(shù)轉(zhuǎn)換為一個字符
unichr(x)
將一個整數(shù)轉(zhuǎn)換為Unicode字符
ord(x)
將一個字符轉(zhuǎn)換為它的整數(shù)值
hex(x)
將一個整數(shù)轉(zhuǎn)換為一個十六進制字符串
oct(x)
將一個整數(shù)轉(zhuǎn)換為一個八進制字符串
- 變量輸入演練 —— 超市買蘋果增強版
需求
收銀員輸入 蘋果的價格,單位:元/斤
收銀員輸入 用戶購買蘋果的重量警没,單位:斤
計算并且 輸出 付款金額
演練方式 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 —— 買蘋果改進版
定義 一個 浮點變量 接收用戶輸入的同時浅碾,就使用 float 函數(shù)進行轉(zhuǎn)換
price = float(input("請輸入價格:"))
改進后的好處:
節(jié)約空間,只需要為一個變量分配空間
起名字方便续语,不需要為中間變量起名字
改進后的“缺點”:
初學者需要知道垂谢,兩個函數(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
有符號十進制整數(shù),%06d 表示輸出的整數(shù)顯示位數(shù)蓬抄,不足的地方使用 0 補全
%f
浮點數(shù)丰嘉,%.2f 表示小數(shù)點后只顯示兩位
%%
輸出 %
語法格式如下:
print("格式化字符串" % 變量1)
print("格式化字符串" % (變量1, 變量2...))
格式化輸出演練 —— 基本練習
需求
定義字符串變量 name,輸出 我的名字叫 小明嚷缭,請多多關(guān)照饮亏!
定義整數(shù)變量 student_no耍贾,輸出 我的學號是 000001
定義小數(shù) price、weight路幸、money荐开,輸出 蘋果單價 9.00 元/斤,購買了 5.00 斤简肴,需要支付 45.00 元
定義一個小數(shù) scale晃听,輸出 數(shù)據(jù)比例是 10.00%
print("我的名字叫 %s,請多多關(guān)照砰识!" % name)
print("我的學號是 %06d" % student_no)
print("蘋果單價 %.02f 元/斤能扒,購買 %.02f 斤,需要支付 %.02f 元" % (price, weight, money))
print("數(shù)據(jù)比例是 %.02f%%" % (scale * 100))
課后練習 —— 個人名片
需求
在控制臺依次提示用戶輸入:姓名仍翰、公司赫粥、職位、電話予借、郵箱
按照以下格式輸出:
公司名稱
姓名 (職位)
電話:電話
郵箱:郵箱
實現(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)
謝謝