久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Python第三章-輸入輸出和運(yùn)算符

 精品唯居 2020-06-05

輸入輸出和運(yùn)算符

一、輸入和輸出

1.1 輸出

`print()`函數(shù)用來向終端輸出數(shù)據(jù)(其實(shí)也可以向文件輸出數(shù)據(jù),,后面再講)

  • 可以傳遞多個(gè)參數(shù),,則輸出的時(shí)候 python 會(huì)把多個(gè)參數(shù)的值用空格隔開。

    print("hell", "world", "你好")
    

  • print()函數(shù)默認(rèn)會(huì)在末尾自動(dòng)添加一個(gè) \n ,。如果不想換行則可以傳遞一個(gè)參數(shù) end=""

    print("hell", "world", "你好", end="")
    print("哈哈哈")
    

1.2 輸入

input() 可以獲取用戶在鍵盤的輸入,,輸入的數(shù)據(jù)都會(huì)成為字符串。

name = input()	# 把從鍵盤輸入的數(shù)據(jù)存儲(chǔ)到變量 name 中
print("你的名字是:", name)

如果在用戶輸入前給用戶一個(gè)提示語,,可以在 input 中傳入?yún)?shù),,則 python 會(huì)把傳入的參數(shù)先使用 print() 函數(shù)輸出,然后再等待用戶輸入數(shù)據(jù),。

name = input("請(qǐng)輸入你的姓名:")
print("你的名字是:", name)

二、運(yùn)算符和表達(dá)式

2.1 表達(dá)式

我們前面編寫的大多數(shù)代碼都包含了表達(dá)式(Expressions)。 比如 2 + 3 就是一個(gè)表達(dá)式,。

表達(dá)式可以可以進(jìn)一步拆分為運(yùn)算符(Operators)和操作數(shù)(Operands)

例如:

表達(dá)式:2 + 3 * 4

其中:

? +,、* 就是運(yùn)算符

? 2、3,、4 就是操作數(shù)


python 提供了各種各樣的運(yùn)算符,。

任何的數(shù)據(jù)類型都可以作為操作數(shù)。

2.2 運(yùn)算符

2.2.1 算術(shù)運(yùn)算符

加法:+

當(dāng) + 的兩端都是數(shù)字時(shí),,則就是數(shù)學(xué)中的加法運(yùn)算,。

當(dāng) + 兩端都是字符串時(shí),則就是把兩端的字符串連接起來,。

注意:

  1. 布爾值 True 可以作為數(shù)字 1 來使用,, False 可以作為數(shù)字 0 ,所以他們可以和數(shù)字相加。(學(xué)完面向?qū)ο竽憔褪乔宄? 其實(shí)bool繼承自int)
  2. python 不允許字符串和數(shù)字相加
add1 = 3 + 4
print(add1)   # 7

add2 = 3 + True
print(add2)	# 4

add3 = 3 + False
print(add3)	# 3

add4 = True * 0
print(add4)	# 0

# add5 = "a" + 3  # 錯(cuò)誤,!不允許字符串和數(shù)字相加

減法:-

減法只能用于操作數(shù)字,。

乘法:*

得到兩個(gè)數(shù)的乘積。如果有一個(gè)是字符串一個(gè)是整數(shù),,則得到的重復(fù)整數(shù)次的字符串,。

result1 = 3 * 4.1
print(result1)

result2 = 2 * "Hello "
print(result2)

result3 = "world " * 3
print(result3)

冪:**

x ** y 返回 xy 次方 x^y

除法:/

/ 就是指的數(shù)學(xué)上的除法(也叫真除法),總能得到浮點(diǎn)數(shù)的值,。和其他語言差別較大,。

result1 = 10 / 2
print(result1)

result2 = 10 / 3
print(result2)

result3 = -11.3 / 3
print(result3)

整除(經(jīng)典除法)://

整除一般用來操作兩個(gè)整數(shù)。(雖然也可以操作浮點(diǎn)數(shù),,但是沒人這么做)

result1 = 10 // 2
print(result1)

result2 = 10 // 3
print(result2)

result3 = -10 // 3
print(result3)

result4 = 10 // -3
print(result4)

取余(取模):%

返回除法運(yùn)算后的余數(shù),。一般用于整數(shù)取模。浮點(diǎn)數(shù)也可以用

result1 = 10 % 2
print(result1)

result2 = 10 % -3	#  余數(shù)的符號(hào)與除數(shù)的符號(hào)相同,。
print(result2)

result3 = -10 % 3
print(result3)

result4 = -2.4 % 2  # 取模一般用于整數(shù)運(yùn)算,。浮點(diǎn)數(shù)意義不大
print(result4)

2.2.2 賦值運(yùn)算符

= 賦值運(yùn)算符最常見的。

還有一種叫做復(fù)合賦值運(yùn)算符的,。

+=

a = 3
a += 2   # 等價(jià)于 a = a + 2
print(a)  # 5   

算術(shù)運(yùn)算符都有對(duì)應(yīng)的復(fù)合賦值運(yùn)算符,。

2.2.3 比較運(yùn)算符

比較兩個(gè)操作數(shù)大小關(guān)系。

  1. 如果是兩個(gè)數(shù)字則比較他們數(shù)學(xué)上的大小,。
  2. 如果是兩個(gè)字符串比較,,則是比較的他們在碼表中的順序。先比較第一個(gè)字母,,如果相等再比較第二個(gè)...
  3. 如果有布爾值參與比較,,則 True1 來用,False0 來用,。
  4. 數(shù)字和字符串不能進(jìn)行比較,!
  5. 比較運(yùn)算符計(jì)算的結(jié)果一定是布爾值,。

比較運(yùn)算符包括以下運(yùn)算符:

> 、< ,、>=,、<=、==,、!=

其中: == 判斷兩個(gè)操作數(shù)是否相等,、!= 用來判斷兩個(gè)操作數(shù)是否不等。

r1 = 3 > 2
print(r1)   # True

r2 = "ab" > "b1"
print(r2)   # False

r3 = True > False
print(r3)   # True

r4 = 1 == True
print(r4)   # True

注意:

python 中的比較運(yùn)算符與其他語言最大的一個(gè)不同點(diǎn)是,,python 中的比較運(yùn)算符可以組成鏈接,。只有每個(gè)運(yùn)算符計(jì)算的結(jié)果都是 True ,最終的結(jié)果才會(huì)為 True,。否則就是 False

r1 = 5 > 4 > 3
print(r1)	# True   因?yàn)?5 大于 4是 True,,并且 4 大于 3 是 True

r2 = 5 > 4 == (2 + 1)
print(r2)	# False  因?yàn)?5 大于 4 是 True,但是 4 == 2 + 1 是 False

2.2.4 邏輯運(yùn)算符

python 共支持 3 種邏輯運(yùn)算符,。

and,、or、not(與,,或,,非)

邏輯非:not
r1 = not True
print(r1)	# False

r2 = not False
print(r2)	# True

注意:

  1. 對(duì) not 來說,結(jié)果總是 True 或 False,,但是操作數(shù)可以是任意類型的,。
  2. 內(nèi)容為空的數(shù)據(jù),會(huì)作為 False 來對(duì)待,,所以 not 之后會(huì)成為 True
r1 = not True
print(r1)	# False

r2 = not False
print(r2)	# True

print(not 1)	# False

print(not 0)	# True

print(not "")	# True	

print(not [])	# True

print(not ())	# True

print(not {})	# True
邏輯與:and

有一個(gè)是 False 結(jié)果就是 False

由于任何類型都可以參與運(yùn)算,,所以更加準(zhǔn)確的規(guī)則應(yīng)該是:

? 如果第一個(gè)是 False 或者相當(dāng)于 False ,則結(jié)果就是第一個(gè)數(shù)據(jù),否則最終的結(jié)果就應(yīng)該是第二個(gè)數(shù)據(jù),。

print(False and True)	# False
print(False and False)	# Fasle

print(0 and True)	# 0
print([] and False)	# []
print([1] and 20) # 20
print("a" and []) 

and 具有短路的效果,,也就是說,如果第一個(gè)表達(dá)式是 False 或者相當(dāng)于 False, 則不會(huì)再去判斷第二個(gè)表達(dá)式,。

print(True and print("abc"))

print(False and print("bcd"))	# 由于第一個(gè)表達(dá)式是 False,所以不會(huì)計(jì)算第二個(gè)表達(dá)式的值

備注:是 False 的7種數(shù)據(jù)

False,、None,、0、"",、[],、()、{}

邏輯或:or

有一個(gè)是 True 結(jié)果就是 True

由于任何類型都可以參與運(yùn)算,,所以更加準(zhǔn)確的規(guī)則應(yīng)該是:

? 如果第一個(gè)是 True 或者相當(dāng)于 True ,則結(jié)果就是第一個(gè)數(shù)據(jù),,否則最終的結(jié)果就應(yīng)該是第二個(gè)數(shù)據(jù),。

print(True or False)
print(False or True)
print(False or False)
print(1 or False)
print("" or 100)
print([] or (2,))

or 也具有短路的效果,也就是說,,如果第一個(gè)表達(dá)式是 True 或者相當(dāng)于 True, 則不會(huì)再去判斷第二個(gè)表達(dá)式,。

三,、運(yùn)算符的優(yōu)先級(jí)

lambda Lambda expression
ifelse Conditional expression
or Boolean OR
and Boolean AND
not x Boolean NOT
in, not in, is, is not, <, <=, >, >=, !=, == Comparisons, including membership tests and identity tests
| Bitwise OR
^ Bitwise XOR
& Bitwise AND
<<, >> Shifts
+, - Addition and subtraction
*, @, /, //, % Multiplication, matrix multiplication division, remainder [5]
+x, -x, ~x Positive, negative, bitwise NOT
** Exponentiation [6]
await x Await expression
x[index], x[index:index], x(arguments...), x.attribute Subscription, slicing, call, attribute reference
(expressions...), [expressions...], {key: value...}, {expressions...} Binding or tuple display, list display, dictionary display, set display

優(yōu)先級(jí)是從上往下越來越高,。

實(shí)際使用的時(shí)候,對(duì)于不是很明確的地方,,建議添加圓括號(hào)(())來更改優(yōu)先級(jí),。從而可讀性更強(qiáng)。

比如:雖然你知道 * 的優(yōu)先級(jí)高于 +,但是 代碼1 明顯要好于代碼 2

代碼1:

2 + (3 * 4)

代碼2:

2 + 3 * 4

但是括號(hào)的使用也不要濫用,。比如下面的就有點(diǎn)濫用了,。最外面的完全不需要。

(2 + (3 * 4))

2.2.7 與數(shù)字類型相關(guān)的幾個(gè)內(nèi)置函數(shù)

abs(x) 返回 x 的絕對(duì)值
參數(shù) x 必須是整數(shù)或浮點(diǎn)數(shù)

int(x)x 轉(zhuǎn)換為整數(shù)

x 可以說浮點(diǎn)數(shù)和整數(shù),。如果傳入的是字符串,,則字符串中的字符必須是整數(shù)

float(x)x 轉(zhuǎn)換為 float

x 可以是浮點(diǎn)數(shù)、整數(shù),、字符串,。

pow(x, y)等價(jià)于 x ** y

print(abs(-20))
print(int(20.3))
print(int("40"))
print(float("20.4"))

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多