日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python基本对象_python基础教程:运算对象、运算符、表达式和语句

發(fā)布時(shí)間:2023/12/19 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python基本对象_python基础教程:运算对象、运算符、表达式和语句 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

編程的本質(zhì)就是數(shù)據(jù)和運(yùn)算,數(shù)據(jù)由基本數(shù)據(jù)類型、數(shù)據(jù)結(jié)構(gòu)來表示,運(yùn)算就是對(duì)這些數(shù)據(jù)的各種操作,基本的加減乘除、是非判斷、流程控制等等。這些操作就是今天我們要講的運(yùn)算符、表達(dá)式和語句。

前面我們學(xué)習(xí)Python的基本語法時(shí),講到了Python程序的

的概念,這個(gè)行再細(xì)分就是運(yùn)算符(Operators)、運(yùn)算對(duì)象(Operands)、表達(dá)式(Express)、語句(Statements)。

提示:運(yùn)算和操作這兩個(gè)概念在編程中往往是一樣的

比如下面這一行代碼:

a = 5; b = a + 7; c = a if a > b else b

先來分解一下這一行:

語句: 由表達(dá)式組成。此例共三條語句,用分號(hào)

;

分開,即一個(gè)物理行有三個(gè)邏輯行;

表達(dá)式: 由運(yùn)算符和操作對(duì)象組成。此例中的表達(dá)式有

a + 7

,

a > b

等;

運(yùn)算對(duì)象: 即各種對(duì)象。此例中的

a, b, c, 5, 7

等。

用一行表示它們的關(guān)系就是:

運(yùn)算對(duì)象 + 運(yùn)算符 -> 表達(dá)式 -> 語句

運(yùn)算對(duì)象和運(yùn)算符構(gòu)成表達(dá)式,表達(dá)式構(gòu)成語句

運(yùn)算對(duì)象

運(yùn)算對(duì)象就是由各種對(duì)象構(gòu)成的集合,這些對(duì)象里面有些是

常量

,有些是

變量

常量

Python中的常量我們已經(jīng)見過很多了,比如整數(shù):

9, 7, 8

等等,浮點(diǎn)數(shù):

3.14, 0.618

等等,字符串:

'猿人學(xué)Python'

,這些常量我們看到它們時(shí)就知道它們的意思,這就是字面意義上的常量。

字面意義上的常量就是按照它們的

字面意義

使用它們的值。比如,數(shù)字

8

總是代表它自己,它是一個(gè)常量,不能改變它的值。

變量

常量代表具有特定意義的對(duì)象,但不足以滿足編程的需要。編程經(jīng)常需要一種既可以存儲(chǔ)數(shù)據(jù)有可以對(duì)它進(jìn)行運(yùn)算(操作)的東東,這個(gè)東東就是

變量

。編程中要經(jīng)常使用變量,就需要給變量起個(gè)名字:變量名。變量名的起名規(guī)則就是前面講Python基本語法時(shí)提到的

標(biāo)識(shí)符

,忘了的小猿可以再去看看那一節(jié)。

最開始那一行Python代碼中的

a, b, c

都是變量,而

5, 12, 5

就是它們各自存儲(chǔ)的值。如果再來一句

a = a + 3

a

的值就變成了

8

,變量

a

的值就變了。

變量的賦值就是給變量一個(gè)值,比如

a = 3

,就是給a變量以3的值。

a = 3 # 把3賦值給a,此時(shí)a的值為3

b = a # 把a(bǔ)賦值給b,此時(shí)b的值等于a的值,也是3

c, d = a, b # 這是多重賦值,相當(dāng)于 c = a; d = b

運(yùn)算符

運(yùn)算符就是對(duì)運(yùn)算對(duì)象進(jìn)行的具體運(yùn)算名稱。不同的運(yùn)算符代表不同的運(yùn)算,比如加減乘除。

通過Python shell可以方便的體驗(yàn)運(yùn)算符的使用:

In [115]: 2 + 5

Out[115]: 7

In [116]: 8 * 9

Out[116]: 72

下面我們用一個(gè)表格來清晰的列出各種運(yùn)算符及其用法。

運(yùn)算符

名稱

含義

示例

+

兩個(gè)對(duì)象相加

2 + 5

得7;

'猿人學(xué)' + 'Python'

得到

'猿人學(xué)Python'

-

兩數(shù)相減,或負(fù)數(shù)

10 - 5

得到5;

-3.1

表示負(fù)數(shù)。

*

兩數(shù)相乘,或字符串重復(fù)多次

3 * 7

得到21;

'py' * 2

得到

pypy

**

返回x的y次冪

2**8

得256;

2.3**3

得12.167

/

兩數(shù)相除

10 / 2

得到5;

10 / 3

得到 3.333333

//

向下取整除

兩數(shù)相除,返回離商最近且小的整數(shù)。如果除數(shù)和被除數(shù)中有浮點(diǎn)數(shù),返回的也是浮點(diǎn)數(shù)。

11 // 2

得到5;

-11 // 2

得到-6;

5 // 1.34

得到3.0.

%

模除

求余數(shù)

10 % 3

得到1;

10 % 3.3

得到0.1;

-10 % 3.3

得到3.2,因?yàn)?/p>

-10 // 3.3

得 -4,

-10 - 3.3*-4

得到3.2.

<<

左移

二進(jìn)制操作,把數(shù)字的每個(gè)比特位向左移動(dòng)特定位數(shù)(數(shù)字在內(nèi)存中以二進(jìn)制

0,1

表示)

2 << 3

得到16,

2

的二進(jìn)制是:

00000010

,左移3位變成:

0b00010000

即16

>>

右移

把一個(gè)數(shù)的比特位向右移動(dòng)特定位數(shù)

2 >> 1

得到1

&

位與

兩數(shù)對(duì)應(yīng)的比特位進(jìn)行與操作

8 & 9

得8

`

`

位或

兩數(shù)對(duì)應(yīng)的比特位進(jìn)行或操作

`8

9`得9

^

位異或

兩數(shù)對(duì)應(yīng)的比特位進(jìn)行異或操作

8^9

得1

位反

一個(gè)數(shù)x的比特位全部取反,值為-(x+1)

~8

的 -9

<

小于

返回x是否小于y。所有比較運(yùn)算符返回的不是

True

就是

False

8 < 9

得到

True

>

大于

返回x是否大于y

8 > 9

得到

False

<=

小于等于

返回x是否小于等于y

x = 2; y = 3; x <= y

返回

True

>=

大于等于

返回x是否大于等于y

x = 6; y = 4; x >= y

返回

True

==

等于

比較對(duì)象是否相等

2 == 2

返回

True

3 == 2

返回

False

'str' == 'str'

返回

True

!=

不等于比較對(duì)象是否不相等

1 != 3

返回

True

3 != 3

返回False

not

布爾

如果x是

True

則返回

False

;如果x是

False

則返回

True

x = False; not x

返回

True

and

布爾

x and y

如果x是

False

則返回

False

,否則返回y的布爾值

x = False; y = True; x and y

返回

False

,因?yàn)閤是False。這種情況下,Python不再檢驗(yàn)y的布爾值,因?yàn)閍nd左邊的x已經(jīng)是False了,不管右邊的y是真是假都不影響整個(gè)表達(dá)式的值,所以就不再去驗(yàn)證y是真是假。這叫做“短路求值”。

or

布爾

如果x是

True

則返回True,否則返回y的布爾值

x = True; y = False; x or y

返回True。這里同樣適用“短路求值”

運(yùn)算符優(yōu)先級(jí)(Operator precedence)

小時(shí)候?qū)W數(shù)學(xué)的時(shí)候,我們知道先乘除后加減,比如要算

2 + 5 * 6

的話,先算

5 * 6

得到30, 再算

2 + 30

得到32. 也就是說,乘法運(yùn)算符的優(yōu)先級(jí)高于加法運(yùn)算符。

下面的表格就是Python的運(yùn)算符的優(yōu)先級(jí),從低到高排列,同一個(gè)單元格里面的運(yùn)算符具有相同的優(yōu)先級(jí),這時(shí)候運(yùn)算順序從左到右。不過,還是建議大家通過使用圓括號(hào)來分組表達(dá)式(運(yùn)算符和運(yùn)算對(duì)象),這樣可以清楚的指出運(yùn)算的先后順序,同時(shí)也讓程序更加易讀。

運(yùn)算符

描述

lambda

Lambda函數(shù)表達(dá)式

if-else

條件表達(dá)式

or

布爾或

and

布爾與

not

布爾非

in

,

not in

,

is

,

is not

,

<

,

<=

,

>

,

>=

,

!=

,

==

比較,包括成員測(cè)試和同一性測(cè)試

`

`

位或

^

位異或

&

位與

<<

,

>>

移位

+

,

-

加、減

*

,

@

,

/

,

//

,

%

乘,矩陣乘法,除,向下取整除,模除

+x

,

-x

,

~x

整數(shù),負(fù)數(shù),位非(位反)

**

冪運(yùn)算符。它的綁定不如其右側(cè)的算數(shù)或按位一元運(yùn)算符緊密,所以,

2**-1

的值是0.5.

await

await表達(dá)式(asyncio中使用)

x[index]

,

x[index:index]

,

x(arguments...)

,

x.attribute

下標(biāo),切片,函數(shù)調(diào)用,屬性引用

(expressions...)

,

[expressions...]

,

{key:value...}

,

{expressions...}

綁定或元組顯示,列表顯示,字典顯示,集合顯示

上面表格中有我們還沒有接觸到的運(yùn)算符,這將會(huì)在后面的章節(jié)中講解。

程序根據(jù)上表的順序來進(jìn)行運(yùn)算,但是我們也可以通過圓括號(hào)來改變它們的計(jì)算順序,比如

(2 + 7) * 3

中,就先計(jì)算圓括號(hào)里面的加法,然后再進(jìn)行乘法。這個(gè)原則跟小學(xué)時(shí)學(xué)到的算術(shù)是一樣的。

表達(dá)式(Expression)

表達(dá)式是一段可以計(jì)算為某個(gè)值的語法片段。換句話說,就是表達(dá)元素的累積,比如文字,名稱,屬性訪問,運(yùn)算符或函數(shù)調(diào)用,它們都返回一個(gè)值。與許多其它語言相比,并非所有語言結(jié)構(gòu)都是表達(dá)式。還有一些語句不能用作表達(dá)式,比如

while

賦值

也是語句,但不是表達(dá)式。

從上面對(duì)表達(dá)式的定義來看,

a > 3

是表達(dá)式,

a = 3

不是表達(dá)式,而是賦值語句。

語句(Statements)

語句是程序段(一個(gè)代碼“塊”)的組成單位。一條語句可以是一個(gè)表達(dá)式或某個(gè)帶有關(guān)鍵字的結(jié)構(gòu),例如

if

,

while

for

語句的例子:

a = 5 # 賦值語句

if a > 3: #條件語句,其中 a > 3是表達(dá)式

print('a > 3') #輸出語句

總結(jié)

程序由語句組成;語句或是由表達(dá)式構(gòu)成,或是賦值,或是

if

,

while

等關(guān)鍵字的結(jié)構(gòu);表達(dá)式由運(yùn)算符和運(yùn)算對(duì)象(數(shù)字、字符串等常量,變量等)組成,是語句的構(gòu)成元素。

總結(jié)

以上是生活随笔為你收集整理的python基本对象_python基础教程:运算对象、运算符、表达式和语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。