#運算子與表示式
編寫每乙個邏輯行都包含表示式
例如乙個簡單的5+6.可以分解為運算子和運算元。
運算子的功能是完成某件事,+就是完成相加這件事。運算子需要有資料才能進行運算,是這樣的資料稱為運算元,在上面的示例中5和6就是運算元。
##運算子
運算子主要就是數**算,有些也可以進行字元運算。
運算子名稱
說明例子+加
兩個物件相加
3+5得8;『a』+『b』得』ab』-減
得負數或者減去另乙個數
-5.2為負數;50-20得30*乘
兩個數相乘,或者返回被重複若干次得字串
2*3得6;『la』*3得』lalala』.**冪
返回x的y次冪
3**4得81/除
x除以y
4/3得1(整數運算);4.0/3或4/3.0得1.33333…(浮點運算)
//整除
返回商的整數部分
4得1%取模
返回除法的餘數
5%3得2
<<
左移把乙個數的位元向左移動一定數目(每個數在記憶體中都表示為位元或二進位制數字即0,1)
2<<2得8(2按照位元表示為10)
>>
右移把乙個數的位元向右移一定數目
11>>1得5(11位元為1011,向右移動1後得101,即十進位制的5)
&按位與
數的按位與
5&3得1
|按位或
數的按位或
5|3得7
^按位異或
數的按位異或
5^3得6
~按位翻轉
x的按位翻轉是-(x+1)
~5得6
<
小於返回x是否小於y。比較運算返回值1為真,0為假分別與特殊變數true和false等價。
5<3返回0(即false)而3<5返回1(即true)比較可以任意連線如3<5<7返回1
>
大於返回x是否大於y
5 > 3返回true。如果兩個運算元都是數字,它們首先被轉換為乙個共同的型別。否則,它總是返回false。
<=
小於等於
返回x是否小於等於y
x = 3; y = 6; x <= y返回true。
>=
大於等於
返回x是否大於等於y
x = 4; y = 3; x >= y返回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 y返回false。
and布林「與」
如果x為false,x and y返回false,否則它返回y的計算值。
x = false; y = true; x and y,由於x是false,返回false。在這裡,python不會計算y,因為它知道這個表示式的值肯定是false(因為x是false)。這個現象稱為短路計算。
or布林「或」
如果x是true,它返回true,否則它返回y的計算值。
x = true; y = false; x or y返回true。短路計算在這裡也適用。
##運算子優先順序
如果給定乙個6+9*8這樣的表示式,我們按照數學方法,就知道應該先算9*8然後計算+的內容,這裡運算子優先順序就是指python語言各運算子之間的先後關係。
運算子描述
lambda
lambda表示式
or布林「或」
and布林「與」
not x
布林「非」
in,not in
成員測試
is,is not
同一性測試
,>=,!=,==比較|
按位或^
按位異或
&按位與
<>
移位+,-
加法與減法
*,/,%
乘法、除法與取餘
+x,-x
正負號~x
按位翻轉
**指數
x.attribute
屬性參考
x[index]
下標x[index:index]
定址段f(arguments…)
函式呼叫
(experession,…)
繫結或元組顯示
[expression,…]
列表顯示
字典顯示
『expression,…』
字串轉換
#不知道運算子優先順序?沒事!咱還有大招!
比如產品經理說:
去解決bug,乙個小bug需要3分鐘,乙個大bug需要10分鐘,現在有四個小bug,兩個大bug等你解決,你一共要幾分鐘?
這個簡單的應用非常明顯,需要先用乘法再用加法,如果這裡你忘記了乘法和加法的優先順序,可以這樣:
print( (3*4)+(10*2))
表示式基本概念:
python中,值、變數和運算子共同組成的整體稱為表示式
#python表示式
#1 字串表示式
「hello」
#2 計算表示式
2+3#3 賦值表示式
first=0
#4 變數表示式
first
#5 值表示式
#等等
a=10
b=2c=a*b
print('c的值為',c)
在上面的示例中,我們用表示式來計算乙個矩形的面積。令面積結果儲存在變數c中,然後print列印出結果。我們還可以讓結果更漂亮,加上注釋和空格。
這一周就是很』幹』的東西了。
自學者的悲哀
自己也算乙個自學電腦的人吧,包括自學電腦程式設計,從db2 foxbase foxpro vfp,一路走過來,從書上,從網路中學到了不少東西,也開發了不少程式,越是現在越感覺到一種悲哀,由於沒有受系統的程式設計的教育,感覺到自己做出來的程式很不盡如人意。首先來說吧,每個程式段所用的變數,基本上沒有事...
乙個自學者的個人經歷
好的 工具可以在你輸入 錯誤的時候有提示,我現在用的是webstorm,很好用,推薦一下,網上有破解中文版!而瀏覽器開發者工具能在你出錯的時候更直觀的指出你的錯誤型別和出錯在多少行,看不懂英文不要緊,可以儲存乙個翻譯 來多翻譯一下,也可以順便學點英語!基礎語法,什麼是物件,函式,執行環境,this,...
程式設計之路 1 程式設計之路的建議
我熱愛程式設計。我知道大多數人對技術的積累都是來自於平常工作中,工作中用到的就去學,用不到就不學,學一年的知識,然後用個五六年。我也能理解人的理想和追求不同,有的人可能就想平淡點生活。有的人可能是過了拼勁,習慣了安逸。有的人已經認命了。而我現在也每天飽滿工作沒多少時間,但在下班之餘我仍然堅持每天都看...