01. 變量定義
在 Python 中娃兽,每個(gè)變量?在使用前都必須賦值哀墓,變量?賦值以后?該變量?才會(huì)被創(chuàng)建
等號(hào)(=)用來(lái)給變量賦值
=?左邊是一個(gè)變量名
=?右邊是存儲(chǔ)在變量中的值
變量名 = 值
變量定義之后风钻,后續(xù)就可以直接使用了
1) 變量演練1 —— iPython
# 定義 qq_number 的變量用來(lái)保存 qq 號(hào)碼
In [1]: qq_number = "1234567"
# 輸出 qq_number 中保存的內(nèi)容
In [2]: qq_number
Out[2]: '1234567'
# 定義 qq_password 的變量用來(lái)保存 qq 密碼
In [3]: qq_password = "123"
# 輸出 qq_password 中保存的內(nèi)容
In [4]: qq_password
Out[4]: '123'
使用交互式方式朝扼,如果要查看變量?jī)?nèi)容搜囱,直接輸入變量名即可泡嘴,不需要使用?print?函數(shù)
2) 變量演練 2 —— PyCharm
# 定義 qq 號(hào)碼變量
qq_number = "1234567"
# 定義 qq 密碼變量
qq_password = "123"
# 在程序中甫恩,如果要輸出變量的內(nèi)容,需要使用 print 函數(shù)
print(qq_number)
print(qq_password)
使用解釋器執(zhí)行酌予,如果要輸出變量的內(nèi)容磺箕,必須要要使用?print?函數(shù)
3) 變量演練 3 —— 超市買蘋果
可以用?其他變量的計(jì)算結(jié)果?來(lái)定義變量
變量定義之后,后續(xù)就可以直接使用了
需求
蘋果的價(jià)格是?8.5 元/斤
買了?7.5 斤?蘋果
計(jì)算付款金額
# 定義蘋果價(jià)格變量
price = 8.5
# 定義購(gòu)買重量
weight = 7.5
# 計(jì)算金額
money = price * weight
print(money)
思考題
如果?只要買蘋果抛虫,就返 5 塊錢
請(qǐng)重新計(jì)算購(gòu)買金額
# 定義蘋果價(jià)格變量
price = 8.5
# 定義購(gòu)買重量
weight = 7.5
# 計(jì)算金額
money = price * weight
# 只要買蘋果就返 5 元
money = money - 5
print(money)
提問(wèn)
上述代碼中松靡,一共定義有幾個(gè)變量?
三個(gè):price/weight/money
money = money - 5?是在定義新的變量還是在使用變量建椰?
直接使用之前已經(jīng)定義的變量
變量名 只有在?第一次出現(xiàn)?才是?定義變量
變量名 再次出現(xiàn)雕欺,不是定義變量,而是直接使用之前定義過(guò)的變量
在程序開(kāi)發(fā)中棉姐,可以修改之前定義變量中保存的值嗎屠列?
可以
變量中存儲(chǔ)的值,就是可以?變?的
02. 變量的類型
在內(nèi)存中創(chuàng)建一個(gè)變量伞矩,會(huì)包括:
變量的名稱
變量保存的數(shù)據(jù)
變量存儲(chǔ)數(shù)據(jù)的類型
變量的地址(標(biāo)示)
2.1 變量類型的演練 —— 個(gè)人信息
需求
定義變量保存小明的個(gè)人信息
姓名:小明
年齡:18?歲
性別:是男生
身高:1.75?米
體重:75.0?公斤
利用?單步調(diào)試?確認(rèn)變量中保存數(shù)據(jù)的類型
提問(wèn)
在演練中笛洛,一共有幾種數(shù)據(jù)類型?
4 種
str?—— 字符串
bool?—— 布爾(真假)
int?—— 整數(shù)
float?—— 浮點(diǎn)數(shù)(小數(shù))
在?Python?中定義變量時(shí)需要指定類型嗎乃坤?
不需要
Python?可以根據(jù)?=?等號(hào)右側(cè)的值苛让,自動(dòng)推導(dǎo)出變量中存儲(chǔ)數(shù)據(jù)的類型
2.2 變量的類型
在?Python?中定義變量是?不需要指定類型(在其他很多高級(jí)語(yǔ)言中都需要)
數(shù)據(jù)類型可以分為?數(shù)字型?和?非數(shù)字型
數(shù)字型
整型 (int)
浮點(diǎn)型(float)
布爾型(bool)
真?True?非 0 數(shù)?——?非零即真
假?False?0
復(fù)數(shù)型 (complex)
主要用于科學(xué)計(jì)算沟蔑,例如:平面場(chǎng)問(wèn)題、波動(dòng)問(wèn)題蝌诡、電感電容等問(wèn)題
非數(shù)字型
字符串
列表
元組
字典
提示:在 Python 2.x 中溉贿,整數(shù)?根據(jù)保存數(shù)值的長(zhǎng)度還分為:
*?int(整數(shù))
*?long(長(zhǎng)整數(shù))
使用?type?函數(shù)可以查看一個(gè)變量的類型
In [1]: type(name)
2.3 不同類型變量之間的計(jì)算
1)?數(shù)字型變量?之間可以直接計(jì)算
在 Python 中枫吧,兩個(gè)數(shù)字型變量是可以直接進(jìn)行 算數(shù)運(yùn)算的
如果變量是?bool?型浦旱,在計(jì)算時(shí)
True?對(duì)應(yīng)的數(shù)字是?1
False?對(duì)應(yīng)的數(shù)字是?0
演練步驟
定義整數(shù)?i = 10
定義浮點(diǎn)數(shù)?f = 10.5
定義布爾型?b = True
在 iPython 中,使用上述三個(gè)變量相互進(jìn)行算術(shù)運(yùn)算
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)行其他計(jì)算
In [1]: first_name = "zhang"
In [2]: x = 10
In [3]: x + first_name
---------------------------------------------------------------------------
TypeError: unsupported operand type(s) for +: 'int' and 'str'
類型錯(cuò)誤:`+` 不支持的操作類型:`int` 和 `str`
2.4 變量的輸入
所謂?輸入颁湖,就是?用代碼?獲取?用戶通過(guò)?鍵盤?輸入的信息
例如:去銀行取錢,在 ATM 上輸入密碼
在 Python 中例隆,如果要獲取用戶在?鍵盤?上的輸入信息甥捺,需要使用到?input?函數(shù)
1) 關(guān)于函數(shù)
一個(gè)?提前準(zhǔn)備好的功能(別人或者自己寫的代碼),可以直接使用镀层,而?不用關(guān)心內(nèi)部的細(xì)節(jié)
目前已經(jīng)學(xué)習(xí)過(guò)的函數(shù)
函數(shù) 說(shuō)明
print(x) 將 x 輸出到控制臺(tái)
type(x) 查看 x 的變量類型
2) input 函數(shù)實(shí)現(xiàn)鍵盤輸入
在 Python 中可以使用?input?函數(shù)從鍵盤等待用戶的輸入
用戶輸入的?任何內(nèi)容?Python 都認(rèn)為是一個(gè)?字符串
語(yǔ)法如下:
字符串變量 = input("提示信息:")
3) 類型轉(zhuǎn)換函數(shù)
函數(shù) 說(shuō)明
int(x) 將 x 轉(zhuǎn)換為一個(gè)整數(shù)
float(x) 將 x 轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)
4) 變量輸入演練 —— 超市買蘋果增強(qiáng)版
需求
收銀員輸入?蘋果的價(jià)格镰禾,單位:元/斤
收銀員輸入?用戶購(gòu)買蘋果的重量,單位:斤
計(jì)算并且?輸出?付款金額
演練方式 1
# 1. 輸入蘋果單價(jià)
price_str = input("請(qǐng)輸入蘋果價(jià)格:")
# 2. 要求蘋果重量
weight_str = input("請(qǐng)輸入蘋果重量:")
# 3. 計(jì)算金額
# 1> 將蘋果單價(jià)轉(zhuǎn)換成小數(shù)
price = float(price_str)
# 2> 將蘋果重量轉(zhuǎn)換成小數(shù)
weight = float(weight_str)
# 3> 計(jì)算付款金額
money = price * weight
print(money)
提問(wèn)
演練中唱逢,針對(duì)?價(jià)格?定義了幾個(gè)變量吴侦?
兩個(gè)
price_str?記錄用戶輸入的價(jià)格字符串
price?記錄轉(zhuǎn)換后的價(jià)格數(shù)值
思考?—— 如果開(kāi)發(fā)中,需要用戶通過(guò)控制臺(tái) 輸入?很多個(gè) 數(shù)字坞古,針對(duì)每一個(gè)數(shù)字都要定義兩個(gè)變量备韧,方便嗎?
演練方式 2 —— 買蘋果改進(jìn)版
定義?一個(gè)?浮點(diǎn)變量?接收用戶輸入的同時(shí)痪枫,就使用?float?函數(shù)進(jìn)行轉(zhuǎn)換
price = float(input("請(qǐng)輸入價(jià)格:"))
改進(jìn)后的好處:
節(jié)約空間织堂,只需要為一個(gè)變量分配空間
起名字方便,不需要為中間變量起名字
改進(jìn)后的“缺點(diǎn)”:
初學(xué)者需要知道奶陈,兩個(gè)函數(shù)能夠嵌套使用易阳,稍微有一些難度
提示
如果輸入的不是一個(gè)數(shù)字,程序執(zhí)行時(shí)會(huì)出錯(cuò)吃粒,有關(guān)數(shù)據(jù)轉(zhuǎn)換的高級(jí)話題潦俺,后續(xù)會(huì)講!
2.5 變量的格式化輸出
蘋果單價(jià)?9.00?元/斤声搁,購(gòu)買了?5.00?斤黑竞,需要支付?45.00?元
在 Python 中可以使用?print?函數(shù)將信息輸出到控制臺(tái)
如果希望輸出文字信息的同時(shí),一起輸出?數(shù)據(jù)疏旨,就需要使用到?格式化操作符
%?被稱為?格式化操作符很魂,專門用于處理字符串中的格式
包含?%?的字符串,被稱為?格式化字符串
%?和不同的?字符?連用檐涝,不同類型的數(shù)據(jù)?需要使用?不同的格式化字符
格式化字符 含義
%s 字符串
%d 有符號(hào)十進(jìn)制整數(shù)遏匆,%06d?表示輸出的整數(shù)顯示位數(shù)法挨,不足的地方使用?0?補(bǔ)全
%f 浮點(diǎn)數(shù),%.2f?表示小數(shù)點(diǎn)后只顯示兩位
%% 輸出?%
語(yǔ)法格式如下:
print("格式化字符串" % 變量1)
print("格式化字符串" % (變量1, 變量2...))
格式化輸出演練 —— 基本練習(xí)
需求
定義字符串變量?name幅聘,輸出?我的名字叫 小明凡纳,請(qǐng)多多關(guān)照!
定義整數(shù)變量?student_no帝蒿,輸出?我的學(xué)號(hào)是 000001
定義小數(shù)?price荐糜、weight、money葛超,輸出?蘋果單價(jià) 9.00 元/斤暴氏,購(gòu)買了 5.00 斤,需要支付 45.00 元
定義一個(gè)小數(shù)?scale绣张,輸出?數(shù)據(jù)比例是 10.00%
print("我的名字叫 %s答渔,請(qǐng)多多關(guān)照!" % name)
print("我的學(xué)號(hào)是 %06d" % student_no)
print("蘋果單價(jià) %.02f 元/斤侥涵,購(gòu)買 %.02f 斤沼撕,需要支付 %.02f 元" % (price, weight, money))
print("數(shù)據(jù)比例是 %.02f%%" % (scale * 100))
課后練習(xí) —— 個(gè)人名片
需求
在控制臺(tái)依次提示用戶輸入:姓名、公司芜飘、職位务豺、電話、郵箱
按照以下格式輸出:
**************************************************
公司名稱
姓名 (職位)
電話:電話
郵箱:郵箱
**************************************************
實(shí)現(xiàn)代碼如下:
"""
在控制臺(tái)依次提示用戶輸入:姓名燃箭、公司冲呢、職位、電話招狸、電子郵箱
"""
name = input("請(qǐng)輸入姓名:")
company = input("請(qǐng)輸入公司:")
title = input("請(qǐng)輸入職位:")
phone = input("請(qǐng)輸入電話:")
email = input("請(qǐng)輸入郵箱:")
print("*" * 50)
print(company)
print()
print("%s (%s)" % (name, title))
print()
print("電話:%s" % phone)
print("郵箱:%s" % email)
print("*" * 50)
————————————————
版權(quán)聲明:本文為CSDN博主「MuNian123」的原創(chuàng)文章敬拓,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明裙戏。
原文鏈接:https://blog.csdn.net/qq_42370150/article/details/103540362