Python語言教程算術運算與算術表達式的介紹
Python語言教程在我們學習的過程中有很多的知識需要仔細的學習。下面我們就詳細的向大家介紹算術運算符與算術表達式的。希望對大家有所幫助。無論使用什么語言,我們編寫的大多數(shù)代碼(邏輯行)都包含表達式。#t#
一個表達式可以分解為運算符和操作數(shù),運算符的功能是完成某件事,它們由一些數(shù)學運算符號或者其他特定的關鍵字表示;運算符需要數(shù)據(jù)來進行運算,這樣的數(shù)據(jù)被稱為操作數(shù)。例如,2 + 3是一個簡單的表達式,其中+是運算符,2和3是操作數(shù)。
算術運算符與算術表達式
算術運算符是程序設計語言最基本的運算符。Python語言教程提供的算術運算符除了+、-、*、/、%(求余)之外,還提供了兩種C#中未提供的運算符:求冪(**)和取整除(//)。下面我們通過一段代碼來理解這兩個算術運算符:
- #-*-coding:utf-8-*-
- x = 3.3
- y = 2.2
- a = x**y
- print a #輸出13.827086118,即3.3的2.2次冪,在C#中可用Pow方法實現(xiàn)冪運算
- b = x//y
- print b #輸出1.0,取整除返回商的整數(shù)部分
- c = x/y11 print c#輸出1.5,注意體會普通除與取整除的區(qū)別
賦值運算符與賦值表達式
賦值就是給一個變量賦一個新值,除了簡單的 = 賦值之外,Python和C#都支持復合賦值,例如x += 5,等價于 x = x + 5。
Python語言教程不支持C#中的自增和自減運算符,例如x++這種語句在Python中會被提示語法錯誤。C#程序員可能用慣了這種表達方式(要不為什么叫C++++呢),在Python中,請老老實實的寫x += 1就是了。
邏輯運算符與邏輯表達式
Python的邏輯運算符與C#有較大區(qū)別,Python用關鍵字and、or、not代替了C#語言中的邏輯運算符&&、||和! ,此外Pyhton中參與邏輯運算的操作數(shù)不限于布爾類型,任何類型的值都可以參與邏輯運算,參見1.2.2節(jié)(布爾類型)的討論。
用邏輯運算符將操作數(shù)或表達式連接起來就是邏輯表達式。與C#一樣,Python中的邏輯表達式是“短路”執(zhí)行的,也就是說只有需要時才會進行邏輯表達式右邊值的計算,例如表達式 a and b 只有當a為True時才計算b。思考一下,if (0 and 10/0): 這條語句會引發(fā)除數(shù)為零的異常嗎?
此外還要注意:在Python語言教程 中,and 和 or 所執(zhí)行的邏輯運算并不返回布爾值,而是返回它們實際進行比較的值之一。下邊是一個例子:
- print 'a' and 'b' #輸出b
- print '' and 'b' #輸出空串
關系運算符與關系表達式
關系運算實際上是邏輯運算的一種,關系表達式的返回值總是布爾值。Python中的比較操作符與C#是完全一樣的,包括==、!=、>、<、>=和<=共6種。
除了基本的變量比較外,Python的關系運算符還包括身份運算符is。在Python中,is用來檢驗兩個對象在內(nèi)存中是否指向同一個對象(還記得“一切數(shù)據(jù)皆對象嗎,一切命名皆引用”嗎?)。注意Python語言教程中is的含義和C#有所不同,在C#中,is 操作符被用于動態(tài)地檢查運行時對象類型是否和給定的類型兼容。例如,運算e is T ,其中e 是一個對象,T 是一個類型,返回值是一個布爾值,它表示e是否能轉(zhuǎn)換于 T 類型。