- Python程序設(shè)計教程
- 胡建華
- 940字
- 2021-03-19 19:15:54
2.4 運(yùn)算符
運(yùn)算符是實(shí)現(xiàn)某種運(yùn)算的符號,也是構(gòu)成表達(dá)式的連接符號。運(yùn)算符可以根據(jù)它所作用的操作數(shù)的個數(shù)分為一元運(yùn)算符和二元運(yùn)算符。運(yùn)算符還可以根據(jù)其實(shí)現(xiàn)的功能分為算術(shù)運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、身份運(yùn)算符等。下面介紹常用運(yùn)算符的概念及其使用方法。為了簡潔,本節(jié)均假設(shè)變量a為10,變量b為20。
2.4.1 算術(shù)運(yùn)算符
算術(shù)運(yùn)算符是指用來進(jìn)行數(shù)值運(yùn)算的符號。Python中的算術(shù)運(yùn)算符有加(+)、減(-)、乘(*)、除(/)、冪(**)、取商(//)、取余(%)、取負(fù)數(shù)(-)。下面給出各種算術(shù)運(yùn)算符的使用示例,如表2-1所示。
表2-1 算術(shù)運(yùn)算符

注意:Python 2.x里,整數(shù)除整數(shù),只能得出整數(shù)。如果要得到小數(shù)部分,就要把其中一個數(shù)改成浮點(diǎn)數(shù)。
>>> 1/2 0 >>> 1 .0/2 0 .5 >>> 1/float(2) #float()把整數(shù)對象轉(zhuǎn)換為浮點(diǎn)數(shù)對象 0 .5
2.4.2 比較運(yùn)算符
比較運(yùn)算符用來表示兩個或多個值或表達(dá)式之間的關(guān)系,包括等于(==)、不等于(! =)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。用比較運(yùn)算符連接起來的表達(dá)式稱為關(guān)系表達(dá)式,其結(jié)果為一個bool型數(shù)據(jù),即True或False,如果關(guān)系表達(dá)式成立,則其邏輯值為True,否則為False。比較運(yùn)算符的種類及其示例如表2-2所示。
表2-2 比較運(yùn)算符

2.4.3 邏輯運(yùn)算符
邏輯運(yùn)算符用來執(zhí)行表達(dá)式之間的邏輯操作,判斷運(yùn)算時的真假,其執(zhí)行結(jié)果為bool型,即為True或False。常見的邏輯運(yùn)算符有邏輯非(not)、邏輯與(and)、邏輯或(or)。邏輯運(yùn)算符的優(yōu)先級及其示例如表2-3所示。
表2-3 邏輯運(yùn)算符

2.4.4 身份運(yùn)算符
身份運(yùn)算符用于比較兩個對象的存儲單元,如表2-4所示。
表2-4 身份運(yùn)算符

注:id()函數(shù)用于獲取對象內(nèi)存地址。
2.4.5 Python成員運(yùn)算符
除了以上的一些運(yùn)算符之外,Python還支持成員運(yùn)算符。測試實(shí)例中包含了一系列的成員,包括字符串、列表或元組。如表2-5所示。
表2-5 成員運(yùn)算符

2.4.6 賦值運(yùn)算符及復(fù)合賦值運(yùn)算符
賦值運(yùn)算符(=)用來給變量或?qū)ο蟮膶傩再x值。例如,x=1,將1賦值給變量x。
復(fù)合賦值運(yùn)算符是把算術(shù)運(yùn)算符與賦值運(yùn)算符結(jié)合起來,如表2-6所示。
表2-6 賦值運(yùn)算符及復(fù)合賦值運(yùn)算符

2.4.7 Python按位運(yùn)算符
按位運(yùn)算符是把數(shù)字看作二進(jìn)制來進(jìn)行計算的。在表2-7中,假設(shè)變量a為60, b為13,二進(jìn)制格式及運(yùn)算如下:
a=00111100
b=00001101
a&b=00001100
a|b=00111101
a^b=00110001
~a =11000011
具體如表2-7所示。
表2-7 位運(yùn)算符

2.4.8 Python運(yùn)算符優(yōu)先級
如表2-8所示列出了從最高到最低優(yōu)先級的所有運(yùn)算符。
表2-8 運(yùn)算符優(yōu)先級

- SQL Server 從入門到項(xiàng)目實(shí)踐(超值版)
- Drupal 8 Blueprints
- NLTK基礎(chǔ)教程:用NLTK和Python庫構(gòu)建機(jī)器學(xué)習(xí)應(yīng)用
- TestNG Beginner's Guide
- Raspberry Pi for Secret Agents(Third Edition)
- R語言游戲數(shù)據(jù)分析與挖掘
- Python應(yīng)用輕松入門
- FFmpeg入門詳解:音視頻原理及應(yīng)用
- Python Data Structures and Algorithms
- RESTful Java Web Services(Second Edition)
- iPhone應(yīng)用開發(fā)從入門到精通
- Mastering Adobe Captivate 7
- Learning VMware vSphere
- Android高級開發(fā)實(shí)戰(zhàn):UI、NDK與安全
- Learning ECMAScript 6