01.Python變量

程序就是用來(lái)處理數(shù)據(jù)的,而變量就是用來(lái)存儲(chǔ)數(shù)據(jù)的

目標(biāo)

變量定義
變量的類(lèi)型
變量的命名

  1. 變量定義

在 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ù)

  1. 變量演練 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ù)

  1. 變量演練 3 —— 超市買(mǎi)蘋(píng)果

可以用 其他變量的計(jì)算結(jié)果 來(lái)定義變量
變量定義之后,后續(xù)就可以直接使用了

需求

蘋(píng)果的價(jià)格是 8.5 元/斤

買(mǎi)了 7.5 斤 蘋(píng)果
計(jì)算付款金額

定義蘋(píng)果價(jià)格變量

price = 8.5

定義購(gòu)買(mǎi)重量

weight = 7.5

計(jì)算金額

money = price * weight

print(money)

思考題

如果 只要買(mǎi)蘋(píng)果,就返 5 塊錢(qián)

請(qǐng)重新計(jì)算購(gòu)買(mǎi)金額

定義蘋(píng)果價(jià)格變量

price = 8.5

定義購(gòu)買(mǎi)重量

weight = 7.5

計(jì)算金額

money = price * weight

只要買(mǎi)蘋(píng)果就返 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ǔ)的值,就是可以 變 的

  1. 變量的類(lèi)型

在內(nèi)存中創(chuàng)建一個(gè)變量,會(huì)包括:

變量的名稱(chēng)
變量保存的數(shù)據(jù)
變量存儲(chǔ)數(shù)據(jù)的類(lèi)型
變量的地址(標(biāo)示)

2.1 變量類(lèi)型的演練 —— 個(gè)人信息
需求

定義變量保存小明的個(gè)人信息
姓名:小明

年齡:18 歲
性別:是男生
身高:1.75 米
體重:75.0 公斤

利用 單步調(diào)試 確認(rèn)變量中保存數(shù)據(jù)的類(lèi)型

提問(wèn)

在演練中,一共有幾種數(shù)據(jù)類(lèi)型?

4 種

str —— 字符串

bool —— 布爾(真假)

int —— 整數(shù)

float —— 浮點(diǎn)數(shù)(小數(shù))

在 Python 中定義變量時(shí)需要指定類(lèi)型嗎?

不需要

Python 可以根據(jù) = 等號(hào)右側(cè)的值,自動(dòng)推導(dǎo)出變量中存儲(chǔ)數(shù)據(jù)的類(lèi)型

2.2 變量的類(lèi)型

在 Python 中定義變量是 不需要指定類(lèi)型(在其他很多高級(jí)語(yǔ)言中都需要)
數(shù)據(jù)類(lèi)型可以分為 數(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è)變量的類(lèi)型

In [1]: type(name)

2.3 不同類(lèi)型變量之間的計(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)算

  1. 字符串變量 之間使用 + 拼接字符串

在 Python 中,字符串之間可以使用 + 拼接生成新的字符串

In [1]: first_name = "三"

In [2]: last_name = "張"

In [3]: first_name + last_name
Out[3]: '三張'

  1. 字符串變量 可以和 整數(shù) 使用 * 重復(fù)拼接相同的字符串
    In [1]: "-" * 50
    Out[1]: '--------------------------------------------------'

  2. 數(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'
類(lèi)型錯(cuò)誤:+ 不支持的操作類(lèi)型:intstr

2.4 變量的輸入

所謂 輸入,就是 用代碼 獲取 用戶(hù)通過(guò) 鍵盤(pán) 輸入的信息
例如:去銀行取錢(qián),在 ATM 上輸入密碼
在 Python 中,如果要獲取用戶(hù)在 鍵盤(pán) 上的輸入信息,需要使用到 input 函數(shù)

  1. 關(guān)于函數(shù)

一個(gè) 提前準(zhǔn)備好的功能(別人或者自己寫(xiě)的代碼),可以直接使用,而 不用關(guān)心內(nèi)部的細(xì)節(jié)

目前已經(jīng)學(xué)習(xí)過(guò)的函數(shù)

函數(shù)
說(shuō)明

print(x)
將 x 輸出到控制臺(tái)

type(x)
查看 x 的變量類(lèi)型

  1. input 函數(shù)實(shí)現(xiàn)鍵盤(pán)輸入

在 Python 中可以使用 input 函數(shù)從鍵盤(pán)等待用戶(hù)的輸入
用戶(hù)輸入的 任何內(nèi)容 Python 都認(rèn)為是一個(gè) 字符串

語(yǔ)法如下:

字符串變量 = input("提示信息:")

  1. 類(lèi)型轉(zhuǎn)換函數(shù)

函數(shù) 描述
int(x [,base])

將x轉(zhuǎn)換為一個(gè)整數(shù)

long(x [,base] )

將x轉(zhuǎn)換為一個(gè)長(zhǎng)整數(shù)

float(x)

將x轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)

complex(real [,imag])

創(chuàng)建一個(gè)復(fù)數(shù)

str(x)

將對(duì)象 x 轉(zhuǎn)換為字符串

repr(x)

將對(duì)象 x 轉(zhuǎn)換為表達(dá)式字符串

eval(str)

用來(lái)計(jì)算在字符串中的有效Python表達(dá)式,并返回一個(gè)對(duì)象

tuple(s)

將序列 s 轉(zhuǎn)換為一個(gè)元組

list(s)

將序列 s 轉(zhuǎn)換為一個(gè)列表

set(s)

轉(zhuǎn)換為可變集合

dict(d)

創(chuàng)建一個(gè)字典。d 必須是一個(gè)序列 (key,value)元組。

frozenset(s)

轉(zhuǎn)換為不可變集合

chr(x)

將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符

unichr(x)

將一個(gè)整數(shù)轉(zhuǎn)換為Unicode字符

ord(x)

將一個(gè)字符轉(zhuǎn)換為它的整數(shù)值

hex(x)

將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串

oct(x)

將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串

  1. 變量輸入演練 —— 超市買(mǎi)蘋(píng)果增強(qiáng)版
    需求

收銀員輸入 蘋(píng)果的價(jià)格,單位:元/斤

收銀員輸入 用戶(hù)購(gòu)買(mǎi)蘋(píng)果的重量,單位:斤

計(jì)算并且 輸出 付款金額

演練方式 1

1. 輸入蘋(píng)果單價(jià)

price_str = input("請(qǐng)輸入蘋(píng)果價(jià)格:")

2. 要求蘋(píng)果重量

weight_str = input("請(qǐng)輸入蘋(píng)果重量:")

3. 計(jì)算金額

1> 將蘋(píng)果單價(jià)轉(zhuǎn)換成小數(shù)

price = float(price_str)

2> 將蘋(píng)果重量轉(zhuǎn)換成小數(shù)

weight = float(weight_str)

3> 計(jì)算付款金額

money = price * weight

print(money)

提問(wèn)

演練中,針對(duì) 價(jià)格 定義了幾個(gè)變量?

兩個(gè)

price_str 記錄用戶(hù)輸入的價(jià)格字符串

price 記錄轉(zhuǎn)換后的價(jià)格數(shù)值

思考 —— 如果開(kāi)發(fā)中,需要用戶(hù)通過(guò)控制臺(tái) 輸入 很多個(gè) 數(shù)字,針對(duì)每一個(gè)數(shù)字都要定義兩個(gè)變量,方便嗎?

演練方式 2 —— 買(mǎi)蘋(píng)果改進(jìn)版

定義 一個(gè) 浮點(diǎn)變量 接收用戶(hù)輸入的同時(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 變量的格式化輸出

蘋(píng)果單價(jià) 9.00 元/斤,購(gòu)買(mǎi)了 5.00 斤,需要支付 45.00 元

在 Python 中可以使用 print 函數(shù)將信息輸出到控制臺(tái)
如果希望輸出文字信息的同時(shí),一起輸出 數(shù)據(jù),就需要使用到 格式化操作符

% 被稱(chēng)為 格式化操作符,專(zhuān)門(mén)用于處理字符串中的格式

包含 % 的字符串,被稱(chēng)為 格式化字符串

% 和不同的 字符 連用,不同類(lèi)型的數(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,輸出 蘋(píng)果單價(jià) 9.00 元/斤,購(gòu)買(mǎi)了 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("蘋(píng)果單價(jià) %.02f 元/斤,購(gòu)買(mǎi) %.02f 斤,需要支付 %.02f 元" % (price, weight, money))
print("數(shù)據(jù)比例是 %.02f%%" % (scale * 100))

課后練習(xí) —— 個(gè)人名片
需求

在控制臺(tái)依次提示用戶(hù)輸入:姓名、公司、職位、電話、郵箱

按照以下格式輸出:


公司名稱(chēng)

姓名 (職位)

電話:電話
郵箱:郵箱


實(shí)現(xiàn)代碼如下:
"""
在控制臺(tái)依次提示用戶(hù)輸入:姓名、公司、職位、電話、電子郵箱
"""
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)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容