Python基礎之運算符

Python基礎之運算符

Python中運算符大體分爲複合運算符(包含賦值運算符)、算術運算符、關係運算符、邏輯運算符、位運算符、成員運算符和身份運算符七種。

1.算術運算符

算術運算符 (+ - * / % // **)

// 地板除,獲取商的整數部分(向下取整)
** 冪指數,m**n等價於m的n次方
注意:Python在做單純的算術運算時,參與運算的兩個數必須都是數值
"+"除了可以做單純意義的求值運算外,還可以實現字符串的拼接,但是參與拼接的兩個元素必須都是字符串類型

例:

num1, num2 = 10, 20
print(num1 + num2)
print(num1 - num2)
print(num1 * num2)
print(num1 / num2)
print(num1 % num2)
print(num1 // num2)
print(num1 ** num2)
# 結果
# 30
# -10
# 200
# 0.5
# 10
# 0
# 100000000000000000000

2.複合運算符(包括賦值運算符)

*複合運算符(+= -= = /= //= %= **=)

a += b <=> a = a + b
a -= b <=> a = a - b
a *= b <=> a = a * b
a /= b <=> a = a / b
a //= b <=> a = a // b
a %= b <=> a = a % b
a **= b <=> a = a ** b
複合運算符運算規律,將左側變量和右側變量中存儲的數據做對應的算術運算,之後將算術運算的結構再賦值給左側的變量

賦值運算符 ( = )
a = 1 #將整數1賦值給a

例:

num1 = 2
num2 = 3
num1 += num2
print(num1)
# 5

3.位運算符

位運算符 (& | ^ ~ << >>)

位運算符(&按位與,|按位或,^按位異或,~按位取反,<<左移,>>右移)
十進制轉n進制:連除倒取餘。操作原理:將十進制數連續除以n,得到一系列的餘數,將餘數倒過來排列可以得到n進製表示的數字
n進制轉十進制:按位求和。操作原理:將n進制數字從右到左依次編號,編號從1開始,之後分別拿對應位置的n進制數字乘以n的(編號減1)次方,將最終結果依次求和,即得該十進制數
按位與&:參與運算的兩個數字對應位置的二進制數,必須同時爲1,此時該位置結果才爲1,否則爲0
按位或|:參與運算的兩個數字對應位置的二進制數,只要有一個爲1,此時該位置結果即爲1,否則爲0
按位異或^:參與運算的兩個數字對應位置的二進制數,數字相同時結果爲0,不同時結果爲1
**按位取反**:n == -n - 1
左移<< 和 右移>>:當一個正整數,進行左移運算時,每移動一位等價於將該數字乘以2;進行右移運算時,每移動一位等價於將該數字除以2(向下取整);當一個負整數,進行左移運算時,每移動一位等價於將該數字乘以2;進行右移運算時,每移動一位等價於將該數字除以2(向上取整),符號位均不變

例:

# 通過位運算符,判斷數字n的奇偶性
# 數字n和1做按位與運算(n&1),結果爲0,此時n代表偶數;結果爲1,此時n代表奇數
num = int(input("輸入一個整數:"))
if num & 1 == 0:
    print("偶數")
else:
    print("奇數")


# 如何計算數字n是否是2的整數次冪
# n&(n-1),如果結果爲0,此時結果是2的整數次冪,否則不是
num = int(input("輸入一個整數:"))
if num & (num-1) == 0:
    print("是2的整數次冪")
else:
    print("不是2的整數次冪")

4.比較運算符

比較運算符 (> < = <= >= == != <>)

比較運算符用來完成數據的比較操作,返回結果是一個布爾類型的數據
在Python中[a,b]可以直接寫成a<=x<=b

例:

result = 5 < 6 < 7
print(result)
# True

5.邏輯運算符

and(並且) or(或者) not(非) is(是)
邏輯表達式and/or連接兩個子表達式,共同構成一個條件,但是注意and連接的兩個表達式只有同時成立、同時爲真,整個條件纔會成立;or連接的兩個表達式只要有一個成立,整個條件就會成立
not:對連接條件的否定
is:對連接條件的肯定

例:

num = 5
result = (num >= 3) and (num <= 6)
print(result)
# True
result = (num <= 3) or (num >= 6)
print(result)
# False

6.身份運算符

身份運算符 is / not is 判斷給定的元素是否是某一個引用的數據

例:

# 判斷指定的數據是否是某一種對應的數據類型
num = 1
print(type(num) is int)
# True

# Python內置方法isinstance()更適合用來判斷類型
print(isinstance(num, int))
# True

###7.成員運算符

成員運算符 in / not in 判斷給定的元素是否在列表、字典或元組、集合中

例:

num = 1
list1 = [1, 2, 3, 4, 5, 6, 7]
print(num in list1)
# True
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章