01.Python變量

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

目標

變量定義
變量的類型
變量的命名

  1. 變量定義

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

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

  1. 變量演練 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ā)中,可以修改之前定義變量中保存的值嗎嫂冻?

可以
變量中存儲的值胶征,就是可以 變 的

  1. 變量的類型

在內(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 不同類型變量之間的計算

  1. 數(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ù)運算

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

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

In [1]: first_name = "三"

In [2]: last_name = "張"

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

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

  2. 數(shù)字型變量 和 字符串 之間 不能進行其他計算

In [1]: first_name = "zhang"

In [2]: x = 10

In [3]: x + first_name

TypeError: unsupported operand type(s) for +: 'int' and 'str'
類型錯誤:+ 不支持的操作類型:intstr

2.4 變量的輸入

所謂 輸入阱扬,就是 用代碼 獲取 用戶通過 鍵盤 輸入的信息
例如:去銀行取錢泣懊,在 ATM 上輸入密碼
在 Python 中,如果要獲取用戶在 鍵盤 上的輸入信息麻惶,需要使用到 input 函數(shù)

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

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

目前已經(jīng)學習過的函數(shù)

函數(shù)
說明

print(x)
將 x 輸出到控制臺

type(x)
查看 x 的變量類型

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

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

語法如下:

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

  1. 類型轉(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

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)

    謝謝
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市瀑粥,隨后出現(xiàn)的幾起案子挣跋,更是在濱河造成了極大的恐慌,老刑警劉巖狞换,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件避咆,死亡現(xiàn)場離奇詭異,居然都是意外死亡修噪,警方通過查閱死者的電腦和手機查库,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來黄琼,“玉大人樊销,你說我怎么就攤上這事≡嗫睿” “怎么了围苫?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長撤师。 經(jīng)常有香客問我剂府,道長,這世上最難降的妖魔是什么剃盾? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任周循,我火速辦了婚禮强法,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘湾笛。我一直安慰自己,他們只是感情好闰歪,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布嚎研。 她就那樣靜靜地躺著,像睡著了一般库倘。 火紅的嫁衣襯著肌膚如雪临扮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天教翩,我揣著相機與錄音杆勇,去河邊找鬼。 笑死饱亿,一個胖子當著我的面吹牛蚜退,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播彪笼,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼钻注,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了配猫?” 一聲冷哼從身側(cè)響起幅恋,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤捆交,失蹤者是張志新(化名)和其女友劉穎品追,沒想到半個月后诵盼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了苦始。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片陌选。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡咨油,死狀恐怖棉胀,靈堂內(nèi)的尸體忽然破棺而出瓢谢,到底是詐尸還是另有隱情氓扛,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響烈评,放射性物質(zhì)發(fā)生泄漏适瓦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一列荔、第九天 我趴在偏房一處隱蔽的房頂上張望肌毅。 院中可真熱鬧,春花似錦、人聲如沸唤殴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至配名,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間渠脉,已是汗流浹背宇整。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留芋膘,地道東北人鳞青。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像为朋,于是被迫代替她去往敵國和親臂拓。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容