運算符,我們日常生活中使用的加減乘除,都是運算符的一種。當然這種一般我們稱為算術運算符,用于處理數字運算的。
但是在計算機語言中,還有很多的運算符。用于處理不用的情況。
主要有以下幾類:
算術運算符
比較運算符
邏輯運算符
成員運算符
算術運算符
算術運算符就是日常所用的加減乘除,這些運算符在計算機語言中可以用于數值類型的運算。
運算符
描述
例子
+
相加
5+6 結果為 11
-
相減
5-3 結果為 2
*
乘法
3 * 6 結果為 18
**
取冪,x 的 y 次方
3 ** 3 結果為 27
/
除法,普通除法
5/2 結果為 2.5
//
取整除,也叫地板除,只取商的整數部分
5//2 結果為 2
%
取余,常用于奇偶和是否能被整除的判斷
5 % 2 結果為 1
加法和乘法還可以用于字符串的運算:
>>> s1 = 'hello'
>>> s2 = 'world'
>>> s1 + s2 # 字符串的拼接
'helloworld'
>>> s1 * 3 # 字符串乘幾,相當于把該字符串重復多少次。
'hellohellohello'
比較運算符
比較運算符也就是判斷是否相等、大于、小于等。返回的結果都是布爾值,主要用于條件判斷。
運算符
描述
例子
==
等,判斷是否相等(必須兩個等號),相等返回 True,不等返回 False
5==6 返回 False
!=
不等,判斷是否不相等,不等則返回 True,相等返回 False
5 != 6,返回 True
>
大于,左邊大于右邊返回 True,否則返回 False
5 > 4,返回 True
<
小于,左邊小于右邊返回 True,否則返回 False
5 < 3,返回 False
>=
大于或等于
5 >= 5,返回 True
<=
小于或等于
4 <= 6, 返回 True
比較運算符也可以用在字符串上,用字符串比較的話,就是以ASCII碼的順序進行比較的。也就是:
小寫字母 > 大寫字母 > 數字
>>> 'nemo' > 'hello' # n 在 h 后面,所以 n 比 h 大
True
數值類型不能和字符串進行比較運算。
>>> 'a' > 1 # 比較運算符 > 不支持在 str 類型和 int 類型之間比較
TypeError: '>' not supported between instances of 'str' and 'int'
邏輯運算符
邏輯運算符也叫布爾運算符,主要用于將多個條件運算進行連接。Python 中的邏輯運算符直接簡單粗暴的使用英語單詞,而不是各種符號,這也就很好記了。
運算符
描述
例子
and
與運算,and 前后條件同時為 True 時返回 True,有一個不為 True,則返回 False
3 > 2 and 2 > 4 返回,False
or
或運算,or 前后條件只要有一個為 True 則返回 True,只有當前后兩個條件都為 False 才返回 False
3 > 2 or 2 > 4,返回 True
not
非運算,not 的后面跟條件,對條件的結果取否
not 3 > 2,返回False
成員運算符
成員運算符只有 in 和 not in,主要用于判斷某個值是否在某個序列(后面再講)中。
運算符
描述
例子
in
判斷某個值是否在某個序列中,在的話返回 True,不在則返回 False
'h' in 'hello',返回 True
not in
判斷某個值是否不在某個序列中,不在的話返回 True,在的話返回 False
'x' not in 'hello',返回 True
身份運算符
在 Python 中有一種身份運算符is,用來判斷變量的對象是否是同一對象。在數據類型中我們所過,在 Python 中所有的數據類型都是對象。也就是所變量中儲存的都是對象。
在 Python 中有一個專門用來檢查是否同一對象的函數 id(),id()用來返回對象在內存中的地址。如果同一個內存地址存儲的內容就是同一個對象。
>>> a = 1
>>> b = 1.0
>>> id(a)
1784179728
>>> id(b)
1740733557424
>>> a is b
False
>>> c = 1
>>> id(c)
1784179728
>>> a is c # 相當于 id(a) == id(c)
True
身份運算符先做了解,如果有疑問可以在評論中提出,如果實在不能理解,可以先跳過,前期一般來說很少涉及到!
本節思考
3 > 2 > 1 ,返回為何?
(3 > 2) > 1,返回又是什么?為什么?
(3 > 2) == 1 的返回呢?有沒有明白點什么?
'a' < 'A' 呢?為什么?