A,算術運算符
運算符 | 描述 | 舉例 | 結果 |
+ | 加 | 0+1 | 1 |
- | 減 | 2-1 | 1 |
* | 乘 | 1*1 | 1 |
/ | 除 | 1/1 | 1 |
% | 取模(取余) | 6%5 | 1(余1) |
// | 除,且向下取整 | 3//2 -1//2 | 1 -1 |
** | 返回x的y次冪 | 2**0 | 1 |
取模運算公式
a % b = a - a // b * b?
print(-10%3)
=-10 - (-10) // 3 * 3
=-10 - (-4)*3
=2
print(10%-3)
=10 - 10?// (-3) *(- 3)
=-10 - (-4)*(-3)
=-2
B,賦值運算符
1,特點
????????a,運算順序從右到左
? ? ? ? b,運算符左邊是變量,右邊是變量,字面量,表達式
運算符 | 描述 | 用法 | 結果 |
= | 賦值運算符 | c=a+b | |
+ = | 復合加法賦值運算符 | c+=a | c=c+a |
- = | 復合減法賦值運算符 | c-=a | c=c-a |
* = | 復合乘法賦值運算符 | c*=a | c=c*a |
/ = | 復合除法賦值運算符 | c/=a | c=c/a |
% = | 復合取模賦值運算符 | c%=a | c=c%a |
** = | 復合冪賦值運算符 | c**=a | c=c**a |
// = | 復合取整除賦值運算符 | c//=a | c=c//a |
例?
?定義
a=1
a+=1 ——> a=a+1
輸出
print(a)
——>2
2,提問:如何交換變量a和變量b的值,a=2,b=3
方法一,定義一個中間變量,存儲a的值
c=a
把b的值賦予a
a=b
把中間變量的值賦予b
b=c
方法二,python支持使用x,y=y,x的方式交換變量值
定義
a,b=b,a
輸出
print(a)
print(b)
——>
3
2
方法三,運算
定義
a=1
b=2
定義1
a=a+b
定義2
b=a-b ——>b=a+b-b ——>b=a
定義3
a=a-b ——>a=a+b-a
輸出
print(a)
print(b)
——>
b
a
C,比較運算符
? ? ? ? 1,結果是True或者False
? ? ? ? 2,常用于if語句
? ? ? ? 3,在python中a == b不代表a is b,pycharm可以
運算符 | 描述 | 舉例 | 結果 |
== | 等于 | 3==4 | False |
!= | 不等于 | 3!=4 | True |
< | 小于 | 3<4 | True |
> | 大于 | 3>4 | False |
<= | 小于等于 | 3<=4 | True |
>= | 大于等于 | 3>=4 | False |
is | 判斷兩個變量是否相同 | ||
is not | 判斷兩個變量是否不同 |
D,邏輯運算符
非零整數為T,零為F
例:a = 10 , b = 20
運算符 | 邏輯表達式 | 描述 | 舉例 | 結果 |
and | x and y | bool與, 如果x為False,返回x 如果x為True,返回y | a and b | 20 |
or | x or y | bool或, 如果x為False,返回y 如果x為True,返回x | a or b | 10 |
not | not x | bool非,(相當于取反) 如果x為False,返回True 如果x為True,返回False | not a | False |
1,and
定義
age = 30
輸出
print(age >= 20 and age <= 40)
——>True
if?age >= 20 and age <= 40
print("YES")
——>YES
2,or
定義
age = 30
輸出
print(age <= 20 or age >= 40)
——>False
if?age <= 20 or age >= 40
print("YES")
——>報錯
3,not
定義
age = 30
b = not (age>40)
輸出
print(b)
——>True
5,三元運算符
1,語法
max = a if a > b else b
a,如果a>b成立,將a賦值給max
b,如果a>b不成立,將b賦值給max
2,用法
????????a,從a和b中查找最大值
a=1
b=2
max=a if a>b else b
print(f"max={max}")
——>
2
????????b,變量a,b,c中查找最大值
a=1
b=2
c=3
max1=a if a>b else b
max=(a if a>b else b)?if (a if a>b else b)>c else c?——>嵌套if else,可讀性差
max=max1 if max1>c else c ——>可讀性好
print(f"max={max}")
——>
3