Python3运算符
什么事运算符?
本章节主要说明Python的运算符,举个简单的例子4+5=9。例子中,4和5被称为操作数,”+”称为运算符;
Python语言支持以下类型的运算符:
- 算术运算符
- 比较(关系)运算符
- 赋值运算符
- 逻辑运算符
- 位运算符
- 成员运算符
- 身份运算符
- 运算符优先级
接下来让我们一个个来学习Python的运算符
Python算术运算符
以下假设变量a为10,变量b为21:
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 - 两个对象相加 | a+b 输出结果31 |
- | 减 - 得到复数或是一个数减去另一个数 | a-b 输出结果-11 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a*b 输出结果210 |
/ | 除 - x除以y | b/a 输出结果2.1 |
% | 取模 - 返回出去的余数 | b%a 输出结果1 |
** | 幂 - 返回x的y次幂 | a**b 为10的21次方 |
// | 取整除 - 返回商的证书部分 | 9//2 输出结果4,9.0//2.0输出结果4.0 |
以下实例演示了Python所有算术运算符的操作
实例:
1 | #!/usr/bin/python3 |
运行上述代码结果为:
1 | C:\Users\User\Anaconda3\python.exe "D:/Pycharm job/算术运算符.py" |
Python 比较运算符
以下假设变量a为10,变量b为20;
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False |
!= | 不等于 - 比较对象是否不相等 | (a != b )返回 True |
> | 大于 - 返回x是否大于y | (a > b) 返回False |
< | 小于 - 小于返回x是否小于y。所有比较运算符返回1表示真,返回0表示加。这分别于特殊的变量True和False等价。注意,这些变量名的大写 | (a < b) 返回True |
>= | 大于等于 - 返回x是否大于等于y | (a >= b) 返回False |
<= | 小于等于 - 返回x是否小于等于y | (a <= b) 返回True |
以下实例演示了Python所有比较运算符的操作:
1 | #!/usr/bin/python3 |
以上代码执行结果:
1 | C:\Users\User\Anaconda3\python.exe "D:/Pycharm job/Python比较运算符.py" |
Python赋值运算符
以下假设变量a为10,变量b为20;
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a+b将a+b的运算结果赋值为c |
+= | 加法法赋值运算符 | c+=a等效于c=c+a |
-= | 减法赋值运算符 | c-=a等效于c=c-a |
*= | 乘法运算符 | c=a等效于c=ca |
/= | 除法赋值运算符 | c/=a等效于c=c/a |
%= | 取模赋值运算符 | c%=a等效于c=c%a |
**= | 幂赋值运算符 | c=a等效于c=ca |
//= | 取整除赋值运算符 | c//=a等效于c=c//a |
以下实例演示了Python所有赋值运算符的操作:
实例:
1 | #!/usr/bin/python3 |
以上代码执行结果为:
1 | C:\Users\User\Anaconda3\python.exe "D:/Pycharm job/赋值运算符号.py" |
Python位运算符
按位运算符是把数字看作二进制来进行计算的,Python中的按位运算法则如下:
下表中变量a为60,b为13二进制格式如下:
1 | a = 0011 1100 |
以下是演示了Python所有位运算符的操作:
1 | #!/usr/bin/python3 |
以上代码输出结果
1 | C:\Users\User\Anaconda3\python.exe "D:/Pycharm job/位运算符.py" |
Python逻辑运算符
Python语言支持逻辑运算符,以下假设a为10,b为20 :
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔”与”-如果x为False,x and y返回False,否则它返回y的计算值 | (a and b)返回20 |
or | x or y | 布尔”或”-如果x是True,他返回x的值,否则他返回y的计算值。 | (a or b)返回10 |
not | not x | 布尔”非”=如果x为True,返回False。如果x为False,他返回True | not(a and b)返回False |
Ps:什么是 布尔值:
布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要吗是True,要吗是False,在Python,可以直接用True、False表示布尔值(注意大小写),也可以通过布尔运算计算出来:
布尔运算实例:
1 | True |
逻辑运算实例:
1 | #!/usr/bin/python3 |
以上代码输出结果为
1 | C:\Users\User\Anaconda3\python.exe "D:/Pycharm job/逻辑运算符.py" |
Python成员运算符
除了以上的一些运算符之外,Python还指出成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组;
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回True,否则返回False | x在y序列中,如果x在y序列中返回True; |
not in | 如果在指定的序列中没有找到值返回True,否则返回False | x不再y序列中,如果x不再y序列中返回True; |
演示成员运算符的操作:
实例:
1 | #!/usr/bin/python3 |
以上代码执行结果:
1 | C:\Users\User\Anaconda3\python.exe "D:/Pycharm job/成员运算符.py" |
python身份运算符
身份运算符用于比较两个对象的存储单元:
运算符 | 描述 | 实例 |
---|---|---|
is | is是判断两个表示服是不是引用自一个对象 | x is y,类似id(x) == id(y),如果引用的同一个对象则返回True,否则返回False |
is not | is not是判断两个标识符是不是引用自不同对象 | x is not y,类似id(a)! = id(b),如果引用的不是同一个对象则返回结果True,否贼返回False |
注:id()函数用于获取对象内存地址;
以下是俩演示Python所有身份运算符的操作:
实例:
1 | #!/usr/bin/python3 |
以上代码执行结果
1 | C:\Users\User\Anaconda3\python.exe "D:/Pycharm job/身份运算符.py" |
is与==的区别
is 用于判断两个变量引用对象是否为同一个,==用于判断引用变量的值是否相等;
1 | 1,2,3] a = [ |
Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
运算符 | 描述 | |
---|---|---|
** | 指数(最高优先级) | |
~+- | 按位翻转,一元加号和减号(最后两个的方法名为+@和-@) | |
*/%// | 乘,除,取模和取整除 | |
+- | 加法减法 | |
>><< | 右移,左移运算符 | |
& | 位’AND’ | |
^ | 位运算符 | |
<=<>>= | 比较运算符 | |
<>==!= | 等于运算符 | |
=%=/=//=-=+=*=**= | 赋值运算符 | |
is is not | 身份运算符 | |
in not in | 成员运算符 | |
and or not | 逻辑运算符 |
演示运算符优先级:
实例:
1 | #!/usr/bin/python3 |
以上代码执行结果为:
1 | C:\Users\User\Anaconda3\python.exe "D:/Pycharm job/运算符优先级.py" |
Author: focusshell
Link: http://focusshell.github.io/2018/08/20/Day-7-Python运算符/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.