文章目录
python运算符
算术运算符
- 运算符可对两个及以上值进行运算;
运算符 | 功能 |
---|---|
+ | 两个对象相加,如果对象均为字符串则将两个字符串拼接在一起 |
- | 得到负数或是一个数减去另一个数 |
* | 乘 — 两个数相乘,如果字符串承数字就是复制字符串 |
/ | 除 — 两个对象相除,结果均为浮点型 |
% | 取模 - 返回除法的余数,无余数就为0 |
- 幂 — 返回x的y次幂
格式 a**b;
102
1001/2
- // 取整除 — 返回商的整数部分(向下取整)
格式 a//b;
赋值运算符
=
- 赋值运算符,将等号右边值赋值给左边;
- a=5,即将5赋值给a,即a的值变为5;
+=
- a+=5,等同于a=a+5;
-=
- a-=5,等同于a=a-5;
*=
- a*=5,等同于a=a*5;
/=
- a/=5,等同于a=a/5;
%=
- a%=5,等同于a=a%5;
**=
- a**=5,等同于a=a**5;
//=
- a//=5,等同于a=a//5;
注意: 对浮点数做算术运算时,结果也为浮点数;
比较运算符(关系运算符)
>
比较左侧值是否大于右侧值,成立返回True,否则返回False
- a=1>2,a即为False;b=2>1,b即为True;
- ‘2’>‘1’、‘2’>‘11’、‘b’>‘a’、‘b’>'ac’均成立,字符串比较时比较字符串的Unicode编码,比较unicode编码的时逐位比较的,从第一位比较到最后一位,直到比出结果为止;
<
比较左侧值是否小于右侧值,成立返回True,否则返回False
- a=1<2,a即为True;b=2<1,b即为False;
- ‘1’<‘2’、‘11’<‘2’、‘a’<‘b’、‘ac’<'b’均成立,字符串比较时比较字符串的Unicode编码,比较unicode编码的时逐位比较的,从第一位比较到最后一位,直到比出结果为止;
- 1<2<3,表示2>1且2<3;
>=
比较左侧值是否大于或等于右侧值,成立返回True,否则返回False
- a=1>=2,a即为False;b=2>=1,b即为True;
- ‘2’>=‘1’、‘2’>=‘11’、‘b’>=‘a’、‘b’>='ac’均成立,字符串比较时比较字符串的Unicode编码,比较unicode编码的时逐位比较的,从第一位比较到最后一位,直到比出结果为止;
<=
比较左侧值是否小于或等于右侧值,成立返回True,否则返回False
- a=1<=2,a即为True;b=2<=1,b即为False;
- ‘1’<=‘2’、‘11’<=‘2’、‘a’<=‘b’、‘ac’<='b’均成立,字符串比较时比较字符串的Unicode编码,比较unicode编码的时逐位比较的,从第一位比较到最后一位,直到比出结果为止;
==
比较两侧值是否等于右侧值,成立返回True,否则返回False
- a=1==2,a即为False;
!=
比较两侧值是否不等于右侧值,成立返回True,否则返回False
- a=1!=2,a即为True;
注意: ==和!=比较对象的value;
is
比较两个对象是否是同一个对象,成立返回True,否则返回False
- a=1is2,a即为False;
is not
比较两个对象是否不是同一个对象,成立返回True,否则返回False
- a=1 is not 2,a即为True;
注意: is和is not比较对象的id;
逻辑运算符
- 用来进行逻辑判断;
not 逻辑非
- 对not 右侧的值进行非运算(取反运算)
- 对bool,not将其值取反,如 a=True,not a=False;
- 对非bool值,not会将其先转为bool值在取反,如a=0、a=0.0、a="",not a都为True;
and 逻辑与
- 对and两侧的值进行逻辑与运算(两个均为True结果为True,否则为False)
- python中进行and运算时,若第一个值为False则不会管后面的值就直接返回False;
or 逻辑或
- 对and两侧的值进行逻辑或运算(两个中有一个True结果为True,否则为False)
非bool的逻辑运算符
- 当对非bool值进行与运算、或运算时,python会将参与的值当做bool值,再进行运算,最后返回原值;
- 与运算时,若第一个值为False,则直接返回第一个值;否则直接返回第二个值;
- 或运算时,若第一个值为Ture,则直接返回第一个值;否则直接返回第二个值;
条件运算符(三元运算符)
**结构:语句1 if 条件表达式 else 语句2 **
执行流程
- 对条件表达式值进行判断;
- 结果为True,则执行语句1,并返回结果;
- 结果为 False,则执行语句1,并返回结果;
运算符优先级
- 运算符优先级从高到低
运算符 | 说明 |
---|---|
** | 指数 (最高优先级) |
+ - | 加号和减号,表示正数或负数 |
* / % // | 乘,除,取模和取整除 |
+ - | 加加法减法 |
& | 位 ‘AND’ |
^ | | 位运算符not、or |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
+ + - | 加号和减号,表示正数或负数 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not and or | 逻辑运算符 |
- 括号可以改变优先级,将需要先算的()起来即先算;