亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

python基礎(chǔ)教程:運(yùn)算對象、運(yùn)算符、表達(dá)式和語句

stdying / 1466人閱讀

摘要:用一行表示它們的關(guān)系就是運(yùn)算對象運(yùn)算符表達(dá)式語句運(yùn)算對象和運(yùn)算符構(gòu)成表達(dá)式,表達(dá)式構(gòu)成語句運(yùn)算對象運(yùn)算對象就是由各種對象構(gòu)成的集合,這些對象里面有些是常量,有些是變量。

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

前面我們學(xué)習(xí)Python的基本語法時,講到了Python程序的的概念,這個行再細(xì)分就是運(yùn)算符(Operators)、運(yùn)算對象(Operands)、表達(dá)式(Express)、語句(Statements)。

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

比如下面這一行代碼:

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

先來分解一下這一行:

語句: 由表達(dá)式組成。此例共三條語句,用分號;分開,即一個物理行有三個邏輯行;

表達(dá)式: 由運(yùn)算符和操作對象組成。此例中的表達(dá)式有a + 7,?a > b等;

運(yùn)算對象: 即各種對象。此例中的a, b, c, 5, 7等。

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

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

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

![(http://upload-images.jianshu....

運(yùn)算對象

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

常量

Python中的常量我們已經(jīng)見過很多了,比如整數(shù):9, 7, 8等等,浮點(diǎn)數(shù):3.14, 0.618等等,字符串:"猿人學(xué)Python",這些常量我們看到它們時就知道它們的意思,這就是字面意義上的常量。

字面意義上的常量就是按照它們的字面意義使用它們的值。比如,數(shù)字8總是代表它自己,它是一個常量,不能改變它的值。

變量

常量代表具有特定意義的對象,但不足以滿足編程的需要。編程經(jīng)常需要一種既可以存儲數(shù)據(jù)有可以對它進(jìn)行運(yùn)算(操作)的東東,這個東東就是變量。編程中要經(jīng)常使用變量,就需要給變量起個名字:變量名。變量名的起名規(guī)則就是前面講Python基本語法時提到的標(biāo)識符,忘了的小猿可以再去看看那一節(jié)。

最開始那一行Python代碼中的a, b, c都是變量,而5, 12, 5就是它們各自存儲的值。如果再來一句a = a + 3,a的值就變成了8,變量a的值就變了。
變量的賦值就是給變量一個值,比如a = 3,就是給a變量以3的值。

a = 3  # 把3賦值給a,此時a的值為3
b = a  # 把a(bǔ)賦值給b,此時b的值等于a的值,也是3
c, d = a, b  # 這是多重賦值,相當(dāng)于 c = a; d = b
運(yùn)算符

運(yùn)算符就是對運(yùn)算對象進(jìn)行的具體運(yùn)算名稱。不同的運(yùn)算符代表不同的運(yùn)算,比如加減乘除。
通過Python shell可以方便的體驗運(yùn)算符的使用:

In [115]: 2 + 5
Out[115]: 7

In [116]: 8 * 9
Out[116]: 72

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

運(yùn)算符 名稱 含義 示例
+ 兩個對象相加 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,因為-10 // 3.3得 -4,-10 - 3.3*-4得到3.2.
<< 左移 二進(jìn)制操作,把數(shù)字的每個比特位向左移動特定位數(shù)(數(shù)字在內(nèi)存中以二進(jìn)制0,1表示) 2 << 3得到16,2的二進(jìn)制是:00000010,左移3位變成:0b00010000即16
>> 右移 把一個數(shù)的比特位向右移動特定位數(shù) 2 >> 1得到1
& 位與 兩數(shù)對應(yīng)的比特位進(jìn)行與操作 8 & 9得8
` ` 位或 兩數(shù)對應(yīng)的比特位進(jìn)行或操作 `8 9`得9
^ 位異或 兩數(shù)對應(yīng)的比特位進(jìn)行異或操作 8^9得1
位反 一個數(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
== 等于 比較對象是否相等 2 == 2返回True,3 == 2返回False,"str" == "str"返回True
!= 不等于比較對象是否不相等 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,因為x是False。這種情況下,Python不再檢驗y的布爾值,因為and左邊的x已經(jīng)是False了,不管右邊的y是真是假都不影響整個表達(dá)式的值,所以就不再去驗證y是真是假。這叫做“短路求值”。
or 布爾 如果x是True則返回True,否則返回y的布爾值 x = True; y = False; x or y返回True。這里同樣適用“短路求值”
運(yùn)算符優(yōu)先級(Operator precedence)

小時候?qū)W數(shù)學(xué)的時候,我們知道先乘除后加減,比如要算2 + 5 * 6的話,先算5 * 6得到30, 再算2 + 30得到32. 也就是說,乘法運(yùn)算符的優(yōu)先級高于加法運(yùn)算符。

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

運(yùn)算符 描述
lambda Lambda函數(shù)表達(dá)式
if-else 條件表達(dá)式
or 布爾或
and 布爾與
not 布爾非
in,?not in,?is,?is not,?<,?<=,?>,?>=,?!=,?== 比較,包括成員測試和同一性測試
` ` 位或
^ 位異或
& 位與
<<,?>> 移位
+,?- 加、減
*,?@,?/,?//,?% 乘,矩陣乘法,除,向下取整除,模除
+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)算符,這將會在后面的章節(jié)中講解。

程序根據(jù)上表的順序來進(jìn)行運(yùn)算,但是我們也可以通過圓括號來改變它們的計算順序,比如(2 + 7) * 3中,就先計算圓括號里面的加法,然后再進(jìn)行乘法。這個原則跟小學(xué)時學(xué)到的算術(shù)是一樣的。

表達(dá)式(Expression)

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

從上面對表達(dá)式的定義來看,a > 3是表達(dá)式,a = 3不是表達(dá)式,而是賦值語句。

語句(Statements)

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

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)算對象(數(shù)字、字符串等常量,變量等)組成,是語句的構(gòu)成元素。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/43757.html

相關(guān)文章

  • ??爆肝十二萬字《python從零到精通教程》,從零教你變大佬??(建議收藏)

    文章目錄 強(qiáng)烈推薦系列教程,建議學(xué)起來??! 一.pycharm下載安裝二.python下載安裝三.pycharm上配置python四.配置鏡像源讓你下載嗖嗖的快4.1pycharm內(nèi)部配置 4.2手動添加鏡像源4.3永久配置鏡像源 五.插件安裝(比如漢化?)5.1自動補(bǔ)碼神器第一款5.2漢化pycharm5.3其它插件 六.美女背景七.自定義腳本開頭八、這個前言一定要看九、pyt...

    booster 評論0 收藏0
  • Python基礎(chǔ)教程

    摘要:函數(shù)內(nèi)的變量被稱為局部變量,這是與全局變量相反的概念。有一些進(jìn)行函數(shù)式編程的機(jī)制。繼承以通用的類為基礎(chǔ)建立專門的類對象。 6.4.5 參數(shù)收集的逆過程 假設(shè)有如下函數(shù): def add(x,y): return x+y 比如說有個包含由兩個相加的數(shù)字組成的元組: params = (1,2) 使用*運(yùn)算符對參數(shù)進(jìn)行分配,不過是在調(diào)用而不是在定義時使用: >>> add(*params)...

    daydream 評論0 收藏0
  • 第7期 Datawhale 組隊學(xué)習(xí)計劃

    馬上就要開始啦這次共組織15個組隊學(xué)習(xí) 涵蓋了AI領(lǐng)域從理論知識到動手實踐的內(nèi)容 按照下面給出的最完備學(xué)習(xí)路線分類 難度系數(shù)分為低、中、高三檔 可以按照需要參加 - 學(xué)習(xí)路線 - showImg(https://segmentfault.com/img/remote/1460000019082128); showImg(https://segmentfault.com/img/remote/...

    dinfer 評論0 收藏0
  • 【數(shù)據(jù)科學(xué)系統(tǒng)學(xué)習(xí)】Python # 編程基礎(chǔ)[一]

    摘要:在定義函數(shù)時給定的名稱稱作形參,在調(diào)用函數(shù)時你所提供給函數(shù)的值稱作實參。調(diào)用函數(shù)要調(diào)用一個函數(shù),需要知道函數(shù)的名稱和參數(shù)。默認(rèn)參數(shù)值可以有效幫助解決這一情況。是默認(rèn)參數(shù)定義默認(rèn)參數(shù)要牢記一點(diǎn)默認(rèn)參數(shù)必須指向不變對象。 關(guān)于數(shù)據(jù)科學(xué)在做什么,我們已經(jīng)在前兩篇文章中進(jìn)行了總結(jié),即專題概述和描述性統(tǒng)計分析。要進(jìn)行數(shù)據(jù)科學(xué)的探索,需要一個好工具,就是Python。從本篇開始,將總結(jié)學(xué)習(xí)Pyth...

    luckyyulin 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<