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