博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 表达式集合
阅读量:4912 次
发布时间:2019-06-11

本文共 2779 字,大约阅读时间需要 9 分钟。

Python运算符包括赋值运算符、算术运算符、关系运算符、逻辑运算符、位运算符、成员运算符和身份运算符。

表达式是将不同类型的数据(常亮、变量、函数)用运算符按照一定得规则连接起来的式子。

算术运算符和算术表达式

算术运算符包括四则运算符、求模预算符和幂运算符。

算术运算符 表达式 说明
+ x + y 加法运算
- x -  y 减法运算
* x * y 乘法运算
/ x / y 除法运算
% x%y 求模运算
** x**y x的y次方
// x // y 两数相除向下取整

Python中的除法运算(Python3.x)进行浮点数计算,也就是说 x/y返回的结果是浮点数。

%为取模运算,x%y的结果将是x除以y的余数。

如果要从整数相除中得到一个整数, 丢弃任何小数部分, 可以使用另一个操作符"//"。

x = 5y = 3a = 4b = 2print(x + y) #结果为 7print(x - y)  #结果为2print(x * y) #结果为15print(x / y)  #结果为1.6666666666666667 不同的机器浮点数的结果可能不同print(x // y) #向下去整结果为1print(x % y) #两数相除取余结果为2print(x**y) #5的3次幂结果为125print(a / b) #结果为浮点数2.0print(a % b)#取余结果为0print(a // b)#取整结果为2

关系运算符是对两个对象进行比较。

运算符 表达式 说明
== a==b 等于,比较对象是否相等

!=

<>

a !=b

a <>b

不等于,比较两个对象是否不相等
> a > b 大于,比较a是否大于b
< a < b

小于,比较a是否小于b

>= a>=b 大于等于,比较a是否大于或者等于b
<= a<=b 小于等于,比较a是否小于或者等于b

 

a = 4b = 2c = 2print(a == b) #Falseprint(a != b)  #Trueprint(a <> b)  #Trueprint(a > b)   #Trueprint(a < b)   #Falseprint(a >= b) #Trueprint(c <= b) #True

 逻辑运算符与逻辑运算表达式

运算符 表达式 说明
and a and b 逻辑与,当a为True时才计算b
or a or b 逻辑或,当a为False时才计算b
not not a 逻辑非
a = 4b = 2c = 0print(a>b and b>c) #a>b为True继续计算b>c,b>c也为True则结果为Trueprint(a>b and b
b为True继续计算c
c结果为False则结果为Falseprint(a>b or c
b为True则不继续计算c

位运算符

按位运算符是把数字看作二进制来进行计算的。

运算符 表达式 说明
& a & b

按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

| a | b 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1
^ a ^ b

按位异或运算符:当两对应的二进位相异时,结果为1

~ ~a

按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1

<< a<<2

左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。

>> a>>2

右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数

 

运算

操作

结果

a & b

  0011 1100

& 0000 1101

  0000 1100

12

a | b

  0011 1100

|  0000 1101

  0011 1101

61

a ^ b

  0011 1100

^ 0000 1101

  0011 0001

49

~a

~ 0011 1100

  1100 0011

-61

有符号二进制数的补码

a << 2

0011 1100 -> 1111 0000

240

a >>2

0011 1100-> 0000 1111

15

 

赋值运算符

运算符 表达式 说明
= c=a + b 简单赋值运算符, 将 a + b 的运算结果赋值为 c
+= c +=a 加法赋值运算符 c += a 等效于 c = c + a
-= c -=a 减法赋值运算符 c -= a 等效于 c = c - a
*= c *=a

乘法赋值运算符 c *= a 等效于 c = c * a

/= c /=a

除法赋值运算符 c /= a 等效于 c = c / a

%= c %=a

取模赋值运算符 c %= a 等效于 c = c % a

//= c //=a 幂赋值运算符 c **= a 等效于 c = c ** a
**= c **=a

取整除赋值运算符 c //= a 等效于 c = c // a

 

成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符 表达式 说明
in a in b 如果在指定的序列中找到值返回 True,否则返回 False。
not in a not in b 如果在指定的序列中没有找到值返回 True,否则返回 False。
a=4c=0list = [1,2,3,4,5]if (a in list):    print("%d is in list:%r"%(a,list))if (c not in list):    print("%d is not in list: %r"%(c,list))

 

Python的算术表达式具有结合性和优先性。结合性是指表达式按照从左到右、先乘除后加减的原则进行计算。

Python运算符优先级(由高到低)

 

** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (正负号)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符

另外,小括号可以改变优先级,有()的情况优先计算()中的表达式。

转载于:https://www.cnblogs.com/chedanlangren/p/7441706.html

你可能感兴趣的文章
【Qt开发】V4L2 API详解 Camera详细设置
查看>>
谷歌弃用图片验证码,从此告别奇葩验证码
查看>>
JavaScript学习-require的用法
查看>>
libevent源码分析:epoll后端实现
查看>>
iOS和Android的app界面设计规范(转)
查看>>
【转】关于zend studio 9的4空格替换tab
查看>>
Apache Maven 入门篇(下)
查看>>
HTML 基础 2
查看>>
nginx配置
查看>>
jquery插件
查看>>
tar的基础用法
查看>>
Python编码记录
查看>>
智能社js学习笔记
查看>>
Data Structures and Program Design in C++
查看>>
轮子:读取config.ini文件
查看>>
Java 最常见 200+ 面试题全解析:面试必备(转载)
查看>>
LinkedList
查看>>
Spring框架下PropertyPlaceholderConfigurer类配置roperties文件
查看>>
素因数分解式求法
查看>>
GarsiaWachs算法
查看>>