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

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

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

位运算符

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

运算符 表达式 说明
& 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=4
c=0
list = [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 逻辑运算符

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

Python运算符与表达式的更多相关文章

  1. 2、Python运算符与表达式

    1.运算符 >>>3+5 8 >>>3-5 2 >>>2*3 6 >>>2**3 8 #幂 >>>4/2 2. ...

  2. python运算符和表达式

    算术运算符: 比较运算符: 赋值运算符: 位运算符: 逻辑运算符: 身份运算符: 成员运算符: 运算符优先级:

  3. 吾八哥学Python(六):运算符与表达式

    上篇简单学习了数学运算符,今天来学习下完整的Python运算符与表达式,具体看下面的表格吧! 表1 运算符与它们的用法 运算符 名称 说明 例子 + 加 两个对象相加 3 + 5得到8.’a’ + ‘ ...

  4. python的运算符与表达式

    Python运算符与表达式 1. 运算符分类 运算符主要分5种: 1. 算术运算符 2. 比较运算符 3. 位运算符 4. 逻辑运算符 5. 成员运算符 6. 身份运算符 7. 赋值运算符 1. 算术 ...

  5. 三、Python 变量、运算符、表达式

    3.1 变量 变量是计算机内存中的一块区域,变量可以存储规定范围内的值,值可以改变,其实是将值在内存中保存地址位交给变量,变量去内存中获取,重新赋值,改变的就是内存地址位. 命名: 变量名由字母.数字 ...

  6. Python 学习笔记(2) - 基本概念、运算符与表达式

    字符串 - 可以使用 3 种形式 - 单引号 :「'your string'」 - 双引号 :「"your string"」 - 三引号 :「'''your string''' 或 ...

  7. A Byte of Python 笔记(3)运算符和表达式

    第5章 运算符与表达式 大多数语句(逻辑行)都包含表达式.例子,如 2 + 3.一个表达式可以分解为运算符和操作数. 运算符 运算符 名称 说明 例子 + 加 两个对象相加 3 + 5得到8.'a' ...

  8. Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助

    Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化  format函数字符串格式化  帮助 目录 Pychar ...

  9. python中的运算符及表达式及常用内置函数

    知识内容: 1.运算符与表达式 2.for\while初步了解 3.常用内置函数 一.运算符与表达式 python与其他语言一样支持大多数算数运算符.关系运算符.逻辑运算符以及位运算符,并且有和大多数 ...

随机推荐

  1. 《Java程序设计》实验四 实验报告

    实验四 Android开发基础 实验内容 XP基础 XP核心实践 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 ...

  2. 数据库中User和Schema的关系

    如果我们想了解数据库中的User和Schema到底什么关系,那么让我们首先来了解一下数据库中User和Schema到底是什么概念.        在SQL Server2000中,由于架构的原因,Us ...

  3. BluetoothGatt API

    punlic final class BluetoothGatt继承自Object , 实现了BluetoothProfile接口/** 相关的蓝牙协议可http://www.cnki.net/KCM ...

  4. HDU----(2157)How many ways??(快速矩阵幂)

    How many ways?? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  5. 报错总结_java.lang.RuntimeException: Invalid action class configuration that references an unknown class name

    在使用SSH进行项目开发时,一不小心就可能出现以上的错误提示. 这样的问题可以简单理解为未找到名字为XXX的action 1)xxxAction没有在Struts.xml中配置相应的action: 大 ...

  6. SELECTION-SCREEN 加按钮

    这是我喜欢的这种模式,选择屏加个新建按钮,直接跳转到主屏幕做单据. 选择屏就直接查询,双击查询结果跳转到主屏幕.... 做好编辑控制,事件处理...EVERYTHING IS SOOOOOOO NIC ...

  7. BZOJ4000 [TJOI2015]棋盘

    首先是状态压缩DP... 然后我们发现转移都是一样的...可以矩阵优化... 于是做完啦QAQQQ 题目读不懂?恩多读几遍就读懂了,诶诶诶!别打我呀! /*********************** ...

  8. FZU 2093 找兔子 状压DP

    题目链接:找兔子 n的范围是[1, 15],可以用0 到 (1<<n)-1 的数表示全部状态,用dp[i] = t表示到达状态i的最少时间是t,对于每个点,如果它能到达的所有点在t秒时都已 ...

  9. 查看Nginx、apache、MySQL和PHP的编译参数

    1.nginx编译参数:#/usr/local/nginx/sbin/nginx -V2.apache编译参数:# cat /usr/local/apache/build/config.nice3.p ...

  10. admob 广告Android不显示

    我弄个了ane,iOS上好好的,Android上打死不显示, 最后发现是少在xml里面增加一个配置,百度半天没搜索到. <android>         <manifestAddi ...