# 運算符
我們將簡單瀏覽一下運算符和它們的用法:
## 技巧
你可以交互地使用解釋器來計算例子中給出的表達式。例如,為了測試表達式`2 + 3`,使用交互式的帶提示符的Python解釋器:
```
>>> 2 + 3
5
>>> 3 * 5
15
>>>
```
| 運算符 | 名稱 | 說明 | 例子 |
| :-: | :-: | :-: | :-: |
| + | 加 | 兩個對象相加 | 3 + 5得到8。'a' + 'b'得到'ab'。 |
| - | 減 | 得到負數或是一個數減去另一個數 | -5.2得到一個負數。50 - 24得到26。 |
| * | 乘 | 兩個數相乘或是返回一個被重復若干次的字符串 | 2 * 3得到6。'la' * 3得到'lalala'。 |
| ** | 冪 | 返回x的y次冪 | 3 ** 4得到81(即3 * 3 * 3 * 3) |
| / | 除 | x除以y | 4/3得到1(整數的除法得到整數結果)。4.0/3或4/3.0得到1.3333333333333333 |
| // | 取整除 | 返回商的整數部分 | 4 // 3.0得到1.0 |
| % | 取模 | 返回除法的余數 | 8%3得到2。-25.5%2.25得到1.5 |
| << | 左移 | 把一個數的比特向左移一定數目(每個數在內存中都表示為比特或二進制數字,即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返回True。 |
| > | 大于 | 返回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。短路計算在這里也適用。 |
- 版權信息
- 前言
- 本書的由來
- 本書目前的狀況
- 約定條款
- 反饋
- 值得思考的一些東西
- 第1章 介紹
- Python的特色
- 為什么不使用Perl?
- 程序員的話
- 第2章 安裝Python
- Windows?用戶
- 概括
- 第3章 最初的步驟
- 使用帶提示符的解釋器
- 挑選一個編輯器
- 使用源文件
- 可執行的Python程序
- 獲取幫助
- 概括
- 第4章 基本概念
- 數
- 字符串
- 變量
- 標識符的命名
- 數據類型
- 對象
- 邏輯行與物理行
- 縮進
- 概括
- 第5章 運算符與表達式
- 運算符
- 運算符優先級
- 表達式
- 概括
- 第6章 控制流
- if語句
- while語句
- for循環
- break語句
- continue語句
- 概括
- 第7章 函數
- 函數形參
- 局部變量
- 默認參數值
- 關鍵參數
- return語句
- DocStrings
- 概括
- 第8章 模塊
- 字節編譯的.pyc文件
- from..import語句
- 模塊的name
- 制造你自己的模塊
- dir()函數
- 概括
- 第9章 數據結構
- 列表
- 元組
- 字典
- 序列
- 參考
- 更多字符串的內容
- 概括
- 第10章 解決問題——編寫一個Python腳本
- 解決方案
- 軟件開發過程
- 概括
- 第11章 面向對象的編程
- self
- 類
- 對象的方法
- __init__方法
- 類與對象的方法
- 繼承
- 概括
- 第12章 輸入/輸出
- 儲存器
- 概括
- 第13章 異常
- try..except
- 引發異常
- try..finally
- 概括
- 第14章 Python標準庫
- sys模塊
- os模塊
- 概括
- 第15章 更多Python的內容
- 單語句塊
- 列表綜合
- 在函數中接收元組和列表
- lambda形式
- exec和eval語句
- assert語句
- repr函數
- 概括
- 第16章 接下來學習什么?
- 探索更多內容
- 概括
- 附錄A 自由/開放源碼軟件(FLOSS)
- 附錄B 關于本書
- 關于作者
- 關于譯者
- 關于簡體中文譯本
- 附錄C 修訂記錄
- 術語表