Python之運算子與控制流

高洛峰
發布: 2017-02-25 11:37:31
原創
1239 人瀏覽過

Python 中的運算子

什麼是運算子?舉個簡單的例子 4 +5 = 9 。 在範例中,4 和 5 稱為運算元,"+" 稱為運算子。

1 . 求冪運算子

在Java 中如果我們想要對一個數進行求冪運算,我們可能要藉助於Math 函式庫中的pow()函數,但是在Python 中我們可以使用兩個連續的* 表示求冪運算。

a = 5 ** 2
print a
登入後複製

2 . // 運算子

可能很多人要說了,這個我認識,我打註解常用雙斜杠,可是很尷尬, Python 中的單行註解符號為# ,多行註解可以使用''' ,那麼// 是用來幹嘛呢?用來求兩數相除的整數部分。

a = 10.0 // 3
print a
登入後複製

這個時候就會輸出 3.0 ,也就是相除的整數部分,餘數被忽略。

3 . & , | 運算子

這兩個運算子大家都認識, & 按位與, | 按位或,下面來講講這兩個運算子的運算原理,看一個數7&18 等於多少呢? 放到編譯器裡運行一下試試看

a = 7 & 18
print a
登入後複製

列印的結果為2 ,為什麼呢?很簡單,我們首先需要將 7 和 18 轉換為 二進制, 7-> 00000111 18->00010010 , 然後將這兩個二進制進行與運算,什麼是與運算呢?只需要記住兩個數同一位置上都為 1 的時候結果為 1 ,其他都為 0 即可。運算過程如下

Python之運算子與控制流

很明顯結果是2 , | 運算子和& 運算步驟一樣,不過| 運算過程中,兩個數同一位置上只要有一個是1 ,結果就是1 ,可以自己去運算一下,這裡就不在贅述了。

4 . >>,<< 運算子

第一眼看到這個符號,我的第一個反應是遠大於和遠遠小於,這是右移和左移的意思,左移和右移?怎麼移?同樣的需要將十進制數轉換為二進位形式,然後進行左移和右移,其實左移一次等於是讓一個數乘以2 ,左移n 次就是讓一個數乘以2 的n 次,右移則相反,是除以2 的'n' 次方。

# coding=utf-8

# 左移2位
a = 5 << 2
print a

# 右移三位
b = 32 >> 3
print b
登入後複製

5 . not, and, or 運算子

這三個是邏輯運算符,在其他的程式語言中如果你想表示或與非,你可能會使用這樣的格式||,&&,! ,但是在Python 中需要使用or,and,not 。

a = True
b = False

c = not a
d = a and b
e = a or b

print c
print d
print e
登入後複製

結果依序為False False True

6 . 我們不在介紹運算符,來看看運算子的優先權,我做了個圖

Python之運算子與控制流

越靠近魚頭,等級越高。

Python 控制流

#所謂控制流,無非也就是 if..else,while,for 等。基本的使用大家都會,不過 Python 總有它特別的地方,下面來看看。

1 . if...else

if 判斷語句有一個值得介紹的地方,如下圖

##

a = 10
if 5 <= a <= 10:
  print a
登入後複製

在Java 語言中,你恐怕要這麼寫

int a = 10;
if(a >= 5 && a <= 10){
  System.out.println(a);
}
登入後複製

2 . while , for

唯一需要記住的一點就是,在Python 中,無論是for 還是while ,都可以像if 一樣,在後面加else 語句, else 語句在循環語句跳出來之後會執行。

a = False
while a:
  print ("I am while")
else:
  print ("I am else")

for i in range(1, 2):
  print ("I am for")
else:
  print ("I am else")
登入後複製

小提示: range() 函數可以設定步數間隔,什麼意思?自己去試試看~

總結

以上就是關於Python中運算子與控制流的全部內容,這篇文章講的是基礎入門知識,但也是很重要的一部分,希望對大家使用Python能有所幫助。


更多Python之運算子與控制流相關文章請關注PHP中文網!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板