python学习入门运算符:python运算符浅学
python学习入门运算符:python运算符浅学%//-*/
python中,还可以有and,or,is,is not?
答案是肯定的,and,or是布尔运算符,is,is not是比较运算符。
python中有算术运算符、赋值运算符、比较运算符、布尔运算符、位运算符。详见下:
算术运算符
|
- |
* |
/ |
// |
% |
** |
(1)标准运算符:
加减乘除 ( 、-、*、/)
整除(//)
注:整除时,是向下整除,向下取整。浮点型整除之后的数据类型依旧为浮点型,float
7.5/3=2.5 |
➡ |
7.5//3=2 |
-7.5/3=-2.5 |
➡ |
-7.5//3=-3 |
(2)取余运算符(%)
(3)幂运算符(**)
赋值运算符(1)从右赋值到左,可以进行链式赋值。
a=b=c=152;查询id(a)、id(b)、id(c),位置是一样的。
(2)支持参数赋值( =、-=、*=、/=、//=、%=)
a =2 #等价于a=a 2
a-=2 #等价于a=a-2
a*=2 #等价于a=a*2
a/=2 #等价于a=a/2
a//=2 #等价于a=a//2
a%=2 #等价于a=a%2
(3)系列解包赋值
a b c=1 2 3,等价于a=1 b=2 c=3
可以完成变量互换。a b=b a
比较运算符
< |
> |
>= |
<= |
!= |
== |
is |
is not |
比较运算符,顾名思义,就是进行两者比较的。比较出来的结果就是两个,(是、不是),对应到python中就是bool类型数据的True、False。着重讲一下后四个,即:
“!=”,不等于
“==”,等于
“is”,是
“is not”,不是
前两者只进行值的比较,不进行内存地址比较,id可以不同,后两者会比较内存地址。下面举例说明。
a=[1 2 3]
b=[1 2 3]
print(a==b)
print(a is b id(a) id(b))
输出结果
True
False 2897756362184 2897756362440
布尔运算符
and |
or |
not |
in |
not in |
(1)and ,类似与门,只有当两者都是1的时候,才会输出1,否则输出0。
A |
B |
A and B |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
(2)or ,类似或门,只要两者有一个为1,就可以输出1;两者都为0时,才会输出0。
A |
B |
A or B |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
(3)not 非门
A |
not A |
0 |
1 |
1 |
0 |
(4)in 和 not in,就是检查一个量是否在另一个量中。
a='hello world'
b=[1 2 3 4]
c=(1 2 3 4)
d={1 'w' 2 458}
print('1' in a 1 in b 1 in c 1 in d)
False True True True
位运算符
位运算即将数据转换为二进制,再来按照每一位来进行运算。
&(每一位同时为1,才1)
|(每一位同时为0,才0)
<<(移动一位相当于乘法2),将数据向左移动,溢出的舍去,空出的低位补0
>>(移动一位相当于除法2),将数据向右移动,溢出的舍去,空出的高位补0,需要注意移动位数过多时,会变成0
下面举例来说明:
运算符的比较级运算符是存在优先级的,这样是为了便于计算机判断理解一些复合起来的运算,例如:“5*8 3*2”,我们都知道应该先运算乘法,再计算机加法。类似的,上述所说的所有运算符彼此是有先后级的。
整体先后级为:算术运算符、位运算符、布尔运算符、比较运算符、赋值运算符。
需要注意,当用圆括号括起来时,应该先计算圆括号内的内容。
学习python的第三天,感觉可以,冲[熊猫]
学习视频:花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)_哔哩哔哩_bilibili
往期:转义字符python转义字符