python語(yǔ)法?之與用戶交互和運(yùn)算符
一 程序與用戶交互
1.1、什么是與用戶交互
用戶交互就是人往計(jì)算機(jī)中input/輸入數(shù)據(jù),計(jì)算機(jī)print/輸出結(jié)果
1.2、為什么要與用戶交互?
為了讓計(jì)算機(jī)能夠像人一樣與用戶溝通交流
比如,過(guò)去我們?nèi)ャy行取錢,用戶需要把帳號(hào)密碼告訴柜員,而現(xiàn)在,柜員被ATM機(jī)取代,ATM機(jī)就是一臺(tái)計(jì)算機(jī),所以用戶同樣需要將帳號(hào)密碼告訴計(jì)算機(jī),于是我們的程序中必須有相應(yīng)的機(jī)制來(lái)控制計(jì)算機(jī)接收用戶輸入的內(nèi)容,并且輸出結(jié)果
1.3、如何與用戶交互
交互的本質(zhì)就是輸入、輸出
1.3.1 輸入input:
# 在python3中input功能會(huì)等待用戶的輸入,用戶輸入任何內(nèi)容,都存成字符串類型,然后賦值給等號(hào)左邊的變量名 >>> username=input('請(qǐng)輸入您的用戶名:') 請(qǐng)輸入您的用戶名:jack # username = "jack" >>> password=input('請(qǐng)輸入您的密碼:') 請(qǐng)輸入您的密碼:123 # password = "123" # 了解知識(shí): # 1、在python2中存在一個(gè)raw_input功能與python3中的input功能一模一樣 # 2、在python2中還存在一個(gè)input功能,需要用戶輸入一個(gè)明確的數(shù)據(jù)類型,輸入什么類型就存成什么類型 >>> l=input('輸入什么類型就存成什么類型: ') 輸入什么類型就存成什么類型: [1,2,3] >>> type(l) <type 'list'>
1.3.2 輸出print:
>>> print('hello world') # 只輸出一個(gè)值 hello world >>> print('first','second','third') # 一次性輸出多個(gè)值,值用逗號(hào)隔開(kāi) first second third # 默認(rèn)print功能有一個(gè)end參數(shù),該參數(shù)的默認(rèn)值為"\n"(代表?yè)Q行),可以將end參數(shù)的值改成任意其它字符 print("aaaa",end='') print("bbbb",end='&') print("cccc",end='@') #整體輸出結(jié)果為:aaaabbbb&cccc@
1.3.3 輸出之格式化輸出
(1)什么是格式化輸出?
把一段字符串里面的某些內(nèi)容替換掉之后再輸出,就是格式化輸出。
(2)為什么要格式化輸出?
我們經(jīng)常會(huì)輸出具有某種固定格式的內(nèi)容,比如:'親愛(ài)的xxx你好!你xxx月的話費(fèi)是xxx,余額是xxx‘,我們需要做的就是將xxx替換為具體的內(nèi)容。
(3)如何格式化輸出?
這就用到了占位符,如:%s、%d:
二 基本運(yùn)算符
2.1 算術(shù)運(yùn)算符
? python支持的算數(shù)運(yùn)算符與數(shù)學(xué)上計(jì)算的符號(hào)使用是一致的,我們以x=9,y=2為例來(lái)依次介紹它們
2.2 比較運(yùn)算符
? 比較運(yùn)算用來(lái)對(duì)兩個(gè)值進(jìn)行比較,返回的是布爾值True或False,我們以x=9,y=2為例來(lái)依次介紹它們
2.3 賦值運(yùn)算符
- 增量賦值
- 鏈?zhǔn)劫x值
? python語(yǔ)法中除了有=號(hào)這種簡(jiǎn)單的賦值運(yùn)算外,還支持增量賦值、鏈?zhǔn)劫x值、交叉賦值、解壓賦值,這些賦值運(yùn)算符存在的意義都是為了讓我們的代碼看起來(lái)更加精簡(jiǎn)。我們以x=9,y=2為例先來(lái)介紹一下增量賦值
如果我們想把同一個(gè)值同時(shí)賦值給多個(gè)變量名,可以這么做
>>> z=10 >>> y=z >>> x=y >>> x,y,z (10, 10, 10)
鏈?zhǔn)劫x值指的是可以用一行代碼搞定這件事
>>> x=y=z=10 >>> x,y,z (10, 10, 10)
交叉賦值
我們定義兩個(gè)變量m與n
>>> m=10 >>> n=20
如果我們想將m與n的值交換過(guò)來(lái),可以這么做
>>> temp=m >>> m=n >>> n=temp >>> m,n (20, 10)
交叉賦值指的是一行代碼可以搞定這件事
>>> m=10 >>> n=20 >>> m,n=n,m # 交叉賦值 >>> m,n (20, 10)
解壓賦值
如果我們想把列表中的多個(gè)值取出來(lái)依次賦值給多個(gè)變量名,可以這么做
>>> nums=[11,22,33,44,55] >>> >>> a=nums[0] >>> b=nums[1] >>> c=nums[2] >>> d=nums[3] >>> e=nums[4] >>> a,b,c,d,e (11, 22, 33, 44, 55)
解壓賦值指的是一行代碼可以搞定這件事
注意,上述解壓賦值,等號(hào)左邊的變量名個(gè)數(shù)必須與右面包含值的個(gè)數(shù)相同,否則會(huì)報(bào)錯(cuò)
#1、變量名少了 >>> a,b=nums Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: too many values to unpack (expected 2) #2、變量名多了 >>> a,b,c,d,e,f=nums Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: not enough values to unpack (expected 6, got 5)
但如果我們只想取頭尾的幾個(gè)值,可以用*_匹配
>>> a,b,*_=nums >>> a,b (11, 22)
ps:字符串、字典、元組、集合類型都支持解壓賦值
2.4 邏輯運(yùn)算符
? 邏輯運(yùn)算符用于連接多個(gè)條件,進(jìn)行關(guān)聯(lián)判斷,會(huì)返回布爾值True或False
2.4.1 連續(xù)多個(gè)and
可以用and連接多個(gè)條件,會(huì)按照從左到右的順序依次判斷,一旦某一個(gè)條件為False,則無(wú)需再往右判斷,可以立即判定最終結(jié)果就為False,只有在所有條件的結(jié)果都為True的情況下,最終結(jié)果才為True。
>>> 2 > 1 and 1 != 1 and True and 3 > 2 # 判斷完第二個(gè)條件,就立即結(jié)束,得的最終結(jié)果為False False
2.4.2 連續(xù)多個(gè)or
可以用or連接多個(gè)條件,會(huì)按照從左到右的順序依次判斷,一旦某一個(gè)條件為True,則無(wú)需再往右判斷,可以立即判定最終結(jié)果就為True,只有在所有條件的結(jié)果都為False的情況下,最終結(jié)果才為False
>>> 2 > 1 or 1 != 1 or True or 3 > 2 # 判斷完第一個(gè)條件,就立即結(jié)束,得的最終結(jié)果為True True
2.4.3 混用and、or、not
# and、or、not三者如果混用時(shí),是存在優(yōu)先級(jí)之分的,但在日常開(kāi)發(fā)中我們無(wú)需記憶優(yōu)先級(jí),應(yīng)該使用()來(lái)區(qū)分優(yōu)先級(jí)、提升程序的可讀性 >>> (3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3) False
2.5 成員運(yùn)算符
注意:雖然下述兩種判斷可以達(dá)到相同的效果,但我們推薦使用第二種格式,因?yàn)閚ot in語(yǔ)義更加明確
>>> not 'lili' in ['jack','tom','robin'] True >>> 'lili' not in ['jack','tom','robin'] True
2.6 身份運(yùn)算符
需要強(qiáng)調(diào)的是:==雙等號(hào)比較的是value是否相等,而is比較的是id是否相等
#1. id相同,內(nèi)存地址必定相同,意味著type和value必定相同 #2. value相同type肯定相同,但id可能不同,如下 >>> x='Info Tony:18' >>> y='Info Tony:18' >>> id(x),id(y) # x與y的id不同,但是二者的值相同 (4327422640, 4327422256) >>> x == y # 等號(hào)比較的是value True >>> type(x),type(y) # 值相同type肯定相同 (<class 'str'>, <class 'str'>) >>> x is y # is比較的是id,x與y的值相等但id可以不同 False
到此這篇關(guān)于python語(yǔ)法 之與用戶交互和運(yùn)算符的文章就介紹到這了,更多相關(guān)python 用戶交互和運(yùn)算符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
opencv-python 開(kāi)發(fā)環(huán)境的安裝、配置教程詳解
這篇文章主要介紹了opencv-python 開(kāi)發(fā)環(huán)境的安裝、配置,本文分步驟通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09如何使用python對(duì)圖片進(jìn)行批量壓縮詳解
對(duì)于圖片強(qiáng)行被定義高和寬會(huì)變形,我們希望圖片被改變大小后,比例保持不變,完成對(duì)圖片的壓縮,下面這篇文章主要給大家介紹了關(guān)于如何使用python對(duì)圖片進(jìn)行批量壓縮的相關(guān)資料,需要的朋友可以參考下2022-07-07解決keras模型保存h5文件提示無(wú)此目錄問(wèn)題
這篇文章主要介紹了解決keras模型保存h5文件提示無(wú)此目錄問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07python3實(shí)現(xiàn)指定目錄下文件sha256及文件大小統(tǒng)計(jì)
這篇文章主要為大家詳細(xì)介紹了python3實(shí)現(xiàn)指定目錄下文件sha256及文件大小統(tǒng)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02Django admin model 漢化顯示文字的實(shí)現(xiàn)方法
今天小編就為大家分享一篇Django admin model 漢化顯示文字的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08python實(shí)踐項(xiàng)目之監(jiān)控當(dāng)前聯(lián)網(wǎng)狀態(tài)詳情
介紹一個(gè)利用Python監(jiān)控當(dāng)前聯(lián)網(wǎng)狀態(tài)情況的python代碼,它可以清楚地知道,你的電腦網(wǎng)絡(luò)是否是鏈接成功或失敗,下面小編帶大家來(lái)一起學(xué)習(xí)它2019-05-05python入門while循環(huán)語(yǔ)句理解學(xué)習(xí)
這篇文章主要介紹了python入門while循環(huán)語(yǔ)句理解學(xué)習(xí),文中附含詳細(xì)圖文示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09Python for Informatics 第11章之正則表達(dá)式(四)
這篇文章主要介紹了Python for Informatics 第11章之正則表達(dá)式(四) 的相關(guān)資料,需要的朋友可以參考下2016-04-04