python3教程(七):python 运算符

版权声明:此博客内容为本人学习笔记,转载请标明出处!本人所有文章仅发布于CSDN! https://blog.csdn.net/weixin_40457797/article/details/84336991

python有各种各样的运算符,不仅仅是+-*/这种算数运算,还有类似于=、+=这种赋值运算。

python中总共有算术运算、赋值运算、比较(关系)运算、逻辑运算、身份运算、成员运算、位运算(二进制)共7种运算分类。

下面我们将挑一些重要且常用的来进行了解。

算数运算

关于算数运算我们在之前的python3教程(五):number里面进行了解释,算术运算的运算符分别为加(+)、减(-)、乘(*)、整除(//)、浮点除(/)、除余(%)、次方(**)共七个。

赋值运算

我们在上一章变量,里面的=就是赋值运算符的一种。赋值运算符分别为等于(=)、加后等于(+=)、减后等于(-=)、乘后等于(*=)、整除后等于(//=)、浮点除后等于(/=)、除余后等于(%=)、乘方后等于(**=)共七个。

#+=就是相加后等于,a+=b就是a=a+b,其他的也是同理#
>>> a = 1
>>> b = 2
>>> a += b
>>> a
3

>>> a = 1
>>> b = 2
>>> b -= a
>>> b
1

>>> a = 4
>>> b = 6
>>> a *= b
>>> a
24

>>> a,b = 4,6
>>> a /= b
>>> a
0.6666666666666666

>>> a,b = 4,6
>>> b //= a
>>> b
1

>>> a,b = 4,6
>>> b %= a
>>> b
2

>>> a,b = 4,6
>>> a **= b
>>> a
4096

比较(关系)运算

比较(关系)运算主要是对值的大小进行运算,主要有等于(==)、大于( >)、小于(<)、大于等于( >=)、小于等于(<=)、不等于(!=)共六种。

#比较运算符中,涉及到一种数据类型:bool类型,这种类型的数据只有两个值False(否)和True(对)#
#bool类型在其他的数据类型中也有相对应的值,在字符串中False和True分别对应空字符串和非空字符串,在数字中False和True分别对应0和非0数字#

#比较运算是一种关系运算,即对两个值之间是否相等来进行运算,返回的结果只有False和True#
#比较运算的关系对比一般用于数字当中#
>>> 1 == 1
True
>>> 1 == 1
True
>>> 1 == 2
False
>>> 1 < 2
True
>>> 1 <= 2
True
>>> 2 < 1
False
>>> 2 <= 1
False

逻辑运算

逻辑运算主要用于条件运算,主要有or(或)、and(且)、not(布尔类型转换)

#or表示或,即a or b时,如果a的值为True,则返回a,如果a的值为False,则返回b#
>>> 1 or 2
1
>>> 0 or 1
1
>>> 0 or 2
2
>>> '' or 1
1

#and表示且,即a and b and c时,默认返回a。在运算中,如果a、b、c其中一个值为False,则返回False#
>>> '' and 0 and 1
''

#not是转换bool类型#
>>> not False
True
>>> not True
False

身份运算

身份运算主要是判断两个值是否为同一个内存地址,主要有is 和 is not 两种。

#我们可以使用id()来查看值的内存地址#
>>> id(1)
140718229861200
>>> id(2)
140718229861232


#身份运算主要是判定两个变量值的内存地址是否相等#
>>> a = 1
>>> b = 1
>>> a is b
True
>>> a = 1
>>> b = 0+1
>>> a is b
True


#is 不等同于 ==#
>>> 1 == 1.0
True
>>> 1 is 1.0
False

成员运算

成员运算主要用于判定某个值存在于另一个值内,主要有in和not in两种。

 
>>> '1' in '123'
True
>>> '2' not in '456'
True

位运算(二进制)

位运算主要是把数字看作二进制来进行计算的,主要有按位与(&)、按位或(|)、按位异或(^)、取反(~)、左移动(<<)、右移动(>>),因为使用并不频繁,所以就不细说了。

按位与(&):如果两个二进位都为1,则该位结果为1,否则为0;
按位或(|):只要一个为1,则为1,否则为0;
按位异或(^):两个二进位相异为为1(即两个二进位要相反),否则为0;
取反(~):对数据的每个二进制位取反,即把1变0,把0变1;
左移动(<<):运算数的各二进位全部向左移若干位;
右移动(>>):运算数的各二进位全部向右移若干位;

运算符优先级

python运算符是有优先级的,具体的可以查看python3 运算符大全。python运算符优先级也可以更改,使用()即可。

>>> 1 + 1 * 3 or 4 and 5
4

>>> (1 + 1) * (3 or (4 and 5))
6

猜你喜欢

转载自blog.csdn.net/weixin_40457797/article/details/84336991