wap開發(fā)詳細解釋 wap網(wǎng)站開發(fā)教程
2024-07-02
更新時間:2024-07-02 09:04:48作者:未知
通常你所寫出的程序語句(邏輯行)會包含若干表達式。 如 2 + 3即為一個簡單的表達式。表達式由運算符與操作數(shù)構成。
運算符是一些可以用+號或其他關鍵詞符號替代的功能。運算符會對相關數(shù)據(jù)進行運算,這些被運算的數(shù)據(jù)稱為操作數(shù)。在上例中,2和3即為操作數(shù)。
運算符
我們來簡要學習一下運算符及其用法。
請注意,你可以使用交互式解釋器來計算下面示例中的表達式。例如,要想嘗試表達式2 + 3,只需使用交互式 Python 解釋器輸入:
下面簡明地列出了常用的運算符:
+ (加)
將兩對象相加
3 + 5 得 8. ‘a(chǎn)’ + ‘b’ 得 ‘a(chǎn)b’.
– (減)
將一個數(shù)減去另一個數(shù),若減號左邊沒有數(shù)字,則默認作左邊為零。
-5.2 為一個負數(shù),而 50 – 24 則等于 26。
* (乘)
得到兩個數(shù)相乘的值,或者將一個字符串重復若干次。
2 * 3 得到 6. ‘la’ * 3 得到 ‘lalala’.
** (乘方)
返回 x 的 y 次冪
3 ** 4 得到 81 (i.e. 3 * 3 * 3 * 3)
/ (除)
x 除以 y
13 / 3 得到 4.333333333333333
// (除且取整)
x 除以 y 并返回小于商的最大整數(shù),注意,如果操作數(shù)之一為浮點數(shù),則返回值必為浮點數(shù)。
13 // 3 得到 4
-13 // 3 得到 -5
9//1.81 得到 4.0
% (取模)
返回作除法之后的余數(shù)。
13 % 3 得到 1. -25.5 % 2.25 得到 1.5.
<< (左移)
將數(shù)字位向左移動指定的位數(shù)。每個數(shù)字在內(nèi)存中用位或二進制數(shù)(如 0 和 1 )表示。
2 << 2 得到 8. 2 在二進制中用 10 表示。
將 10 向左移兩位得到 1000 ,二進制 1000 表示十進制的 8 。
>> (右移)
將數(shù)字按位向右移動指定的位數(shù)。
11 >> 1 得到 5 。
11 的二進制表示為 1011 ,將其右移一位后,得到 101也就是十進制的 5 。
& (按位與)
數(shù)字的按位與
5 & 3 得到 1。
| (按位或)
數(shù)字的按位或
5 | 3 得到 7
^ (按位異或)
數(shù)字的按位異或
5 ^ 3 得到 6
~ (按位取反)
x 按位取反是 -(x+1)
~5 得到 -6
< (小于)
返回 x 是否小于 y 。所有的比較運動算符返回 True 或 False。 注意這些名字的大小寫。
5 < 3 得到 False ,而 3 < 5 得到 True。
比較還可以任意鏈接: 3 < 5 < 7 得到 True。
> (大于)
返回 x 是否大于 y
5 > 3 返回 True。如果兩個操作數(shù)都是數(shù)字,則首先要做的是將它們轉(zhuǎn)換為相同的類型。否則,它總是返回 False。
<= (小于或等于)
返回 x 是否小于或等于 y
x = 3; y = 6; x <= y 返回 True
>= (大于或等于)
返回 x 是否大于或等于 y
x = 4; y = 3; x >= 3 返回 True
== (等于)
比較一下對象是否相等
x = 2; y = 2; x == y 返回 True
x = ‘str’; y = ‘stR’; x == y 返回 False
x = ‘str’; y = ‘str’; x == y 返回 True
!= (不等于)
比較一下對象是否不相等
x = 2; y = 3; x != y 返回 True
not (布爾非)
如果 x 為 True,它會返回 False。如果 x 為 False,它會返回 True。
x = True; not x 返回 False.
and (布爾與)
如果 x 為 False , x and y 返回 False 。否則,返回 y 的值
由于 x 為 False , x = False; y = True; x and y 返回 False 。在這種情況下, Python 不會計算 y ,因為它知道 ‘與’ 表達式的左邊為 False ,這就意味著整個表達式必定是 False。這就是所謂的短路計算。
or (布爾或)
如果 x 為 True,它會返回真,否則返回 y 的值
x = True; y = False; x or y 返回 True。這里也用到了短路計算。
數(shù)學運算和賦值的快捷方式。
對一個變量進行數(shù)學運算,然后將運算結(jié)果賦回給變量,這個過程非常常用。于是,對于這樣的表達式有一個快捷方式:
可以簡寫為:
注意, 變量 = 變量 運算符 表達式 變成了 變量 運算符= 表達式。
計算順序
如果你有一個表達式,如 2 + 3 * 4,是先做加法?還是先做乘法?我們的高中數(shù)學告訴我們,應該先做乘法。這就意味著,乘法運算符的優(yōu)先級比加法運算符高。
下表給出了 Python 的優(yōu)先級表,從最低優(yōu)先級(最小約束)到最高優(yōu)先級(最大約束)。這就意味著在給定的表達式中, Python 會首先計算表中較低的運算符和表達式,然后計算表中較高的運算符和表達式。
lambda :Lambda 表達式
if – else :條件表達式
or :布爾或
and :布爾與
not x :布爾非
in, not in, is, is not, <, <=, >, >=, !=, == :比較,包括成員資格測試和身份測試
| :按位或
^ :按位異或
& :按位與
<<, >> :移位
+, – :加減法
*, /, //, % :乘除法,取整和取余
+x, -x, ~x :正負號,按位非
** :求冪
x[index], x[index:index], x(arguments…), x.attribute :訂閱,切片,調(diào)用,屬性引用
(expressions…), [expressions…], {key: value…}, {expressions…} : 綁定或者元組顯示,列表顯示,字典顯示,設置顯示
我們還沒有遇到的操作符將在后面的章節(jié)中講解。
具有 相同優(yōu)先級 的操作符在上表中的同一列中列出。例如 + 和 – 具有相同的優(yōu)先級。
改變計算順序
我們可以使用括號,使表達式更加具有可讀性。例如: 2 + (3 * 4) 顯然比 2 + 3 * 4 更容易理解,因為后者需要運算符優(yōu)先級的知識。和其它事物一樣,括號要合理適度地使用(不要濫用),并且不要有冗余的括號,像 (2 + (3 * 4)) 就顯得很冗余。
使用括號還有另外一個優(yōu)勢——它能幫助我們改變計算的順序。例如,如果你想在一個表達式中先算加法后算乘法,那么你可以寫成 (2 + 3) * 4 。
關聯(lián)性
一般而言,操作符從左到右進行關聯(lián)。這意味著具有相同優(yōu)先級的操作符按照從左到右的方式進行計算。例如, 2 + 3 + 4 計算順序為 (2 + 3) + 4 。
表達式
示例(保存為 expression.py):
輸出:
它的工作原理
矩形的長和寬分別保存在變量 length 和 breadth 中。在表達式的幫助下,我們使用長和寬來計算矩形的面積和周長。我們將表達式 length * breadth 的計算結(jié)果保存到變量 area 中,然后用 print 函數(shù)將其打印輸出。第二種情況是,我們直接在 print 函數(shù)中使用表達式 2 * (length + breadth) 的值。
另外,請注意一下 Python 如何 優(yōu)雅地打印輸出 結(jié)果。盡管我們沒有指明 ‘Area is’ 與變量 area 之間有一個空格,但是 Python 會自動加上,這樣我們就可以得到一個簡潔漂亮的輸出,并且這樣程序的可讀性會更強(因為我們不需要擔心我們要在輸出字符串中如何使用空格)。這是 Python 如何讓程序員的生活變得輕松的一個例子。
我已經(jīng)知道了如何使用操作符、操作數(shù)和表達式——這些是任何程序的基本構件。
請關注我?。〗酉聛碓傧乱徽聲榻B使用語句來了解,如何在我們的程序中使用這些構件。