欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python語法?之與用戶交互和運算符

 更新時間:2022年04月13日 15:46:33   作者:JasonJi  
這篇文章主要介紹了python語法?之與用戶交互和運算符,用戶交互就是人往計算機中input/輸入數(shù)據(jù),計算機print/輸出結(jié)果,下文更多相關(guān)內(nèi)容需要的朋友可以參考一下

一 程序與用戶交互

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

&gt;&gt;&gt; 2 &gt; 1 or 1 != 1 or True or 3 &gt; 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)文章

最新評論