Python語言教程算術運算與算術表達式

一個表達式可以分解爲運算符和操作數,運算符的功能是完成某件事,它們由一些數學運算符號或者其他特定的關鍵字表示;運算符需要數據來進行運算,這樣的數據被稱爲操作數。例如,2 + 3是一個簡單的表達式,其中+是運算符,2和3是操作數。

算術運算符與算術表達式

算術運算符是程序設計語言最基本的運算符。Python語言教程提供的算術運算符除了+、-、*、/、%(求餘)之外,還提供了兩種C#中未提供的運算符:求冪(**)和取整除(//)。下面我們通過一段代碼來理解這兩個算術運算符:

  1. #-*-coding:utf-8-*-   
  2. x = 3.3   
  3. y = 2.2   
  4. a = x**y   
  5. print a #輸出13.827086118,即3.3的2.2次冪,在C#中可用Pow方法實現冪運算   
  6. b = x//y   
  7. print b #輸出1.0,取整除返回商的整數部分  
  8. c = x/y11 print c#輸出1.5,注意體會普通除與取整除的區別 

賦值運算符與賦值表達式

賦值就是給一個變量賦一個新值,除了簡單的 = 賦值之外,Python和C#都支持複合賦值,例如x += 5,等價於 x = x + 5。

Python語言教程不支持C#中的自增和自減運算符,例如x++這種語句在Python中會被提示語法錯誤。C#程序員可能用慣了這種表達方式(要不爲什麼叫C++++呢),在Python中,請老老實實的寫x += 1就是了。

邏輯運算符與邏輯表達式

Python的邏輯運算符與C#有較大區別,Python用關鍵字and、or、not代替了C#語言中的邏輯運算符&&、|| 和! ,此外Pyhton中參與邏輯運算的操作數不限於布爾類型,任何類型的值都可以參與邏輯運算,參見1.2.2節(布爾類型)的討論。

用邏輯運算符將操作數或表達式連接起來就是邏輯表達式。與C#一樣,Python中的邏輯表達式是“短路”執行的,也就是說只有需要時纔會進行邏輯表達式右邊值的計算,例如表達式 a and b 只有當a爲True時才計算b。思考一下,if (0 and 10/0): 這條語句會引發除數爲零的異常嗎?

此外還要注意:在Python語言教程 中,and 和 or 所執行的邏輯運算並不返回布爾值,而是返回它們實際進行比較的值之一。下邊是一個例子:

  1.  print 'a' and 'b'  #輸出b  
  2. print '' and 'b'  #輸出空串 

關係運算符與關係表達式

關係運算實際上是邏輯運算的一種,關係表達式的返回值總是布爾值。Python中的比較操作符與C#是完全一樣的,包括==、!=、>、<、>=和<=共6種。

除了基本的變量比較外,Python的關係運算符還包括身份運算符is。在Python中,is用來檢驗兩個對象在內存中是否指向同一個對象(還記得“一切數據皆對象嗎,一切命名皆引用”嗎?)。注意Python語言教程中is的含義和C#有所不同,在C#中,is 操作符被用於動態地檢查運行時對象類型是否和給定的類型兼容。例如,運算e is T ,其中e 是一個對象,T 是一個類型,返回值是一個布爾值,它表示e是否能轉換於 T 類型。

發佈了46 篇原創文章 · 獲贊 3 · 訪問量 4066
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章