Python运算符与表达式
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运算符与表达式的更多相关文章
- 2、Python运算符与表达式
1.运算符 >>>3+5 8 >>>3-5 2 >>>2*3 6 >>>2**3 8 #幂 >>>4/2 2. ...
- python运算符和表达式
算术运算符: 比较运算符: 赋值运算符: 位运算符: 逻辑运算符: 身份运算符: 成员运算符: 运算符优先级:
- 吾八哥学Python(六):运算符与表达式
上篇简单学习了数学运算符,今天来学习下完整的Python运算符与表达式,具体看下面的表格吧! 表1 运算符与它们的用法 运算符 名称 说明 例子 + 加 两个对象相加 3 + 5得到8.’a’ + ‘ ...
- python的运算符与表达式
Python运算符与表达式 1. 运算符分类 运算符主要分5种: 1. 算术运算符 2. 比较运算符 3. 位运算符 4. 逻辑运算符 5. 成员运算符 6. 身份运算符 7. 赋值运算符 1. 算术 ...
- 三、Python 变量、运算符、表达式
3.1 变量 变量是计算机内存中的一块区域,变量可以存储规定范围内的值,值可以改变,其实是将值在内存中保存地址位交给变量,变量去内存中获取,重新赋值,改变的就是内存地址位. 命名: 变量名由字母.数字 ...
- Python 学习笔记(2) - 基本概念、运算符与表达式
字符串 - 可以使用 3 种形式 - 单引号 :「'your string'」 - 双引号 :「"your string"」 - 三引号 :「'''your string''' 或 ...
- A Byte of Python 笔记(3)运算符和表达式
第5章 运算符与表达式 大多数语句(逻辑行)都包含表达式.例子,如 2 + 3.一个表达式可以分解为运算符和操作数. 运算符 运算符 名称 说明 例子 + 加 两个对象相加 3 + 5得到8.'a' ...
- Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助
Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助 目录 Pychar ...
- python中的运算符及表达式及常用内置函数
知识内容: 1.运算符与表达式 2.for\while初步了解 3.常用内置函数 一.运算符与表达式 python与其他语言一样支持大多数算数运算符.关系运算符.逻辑运算符以及位运算符,并且有和大多数 ...
随机推荐
- Shell基础:Linux权限管理
Linux权限基本概念 查看系统(文件夹/文件)权限: ls -l =>d/- xxx xxx xxx. num owner group size date filename ...
- (11)lambda表达式用法
* lambda 简述 lambda只是一个表达式,函数体比def简单很多 lambda的主体是一个表达式,而不是一个代码块.仅仅能在lambda表达式中封装有限的逻辑进去. lam ...
- hdu 3908 Triple(组合计数、容斥原理)
Triple Time Limit: 5000/3000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others) Total Su ...
- la----3695 City Game(最大子矩阵)
Bob is a strategy game programming specialist. In his new city building game the gaming environment ...
- was7中文redhat6上安装出现中文乱码解决方案
转:http://blog.csdn.net/w1985g/article/details/8789378 在rhel-server-6.1-x86_64上安装WebSphere 7时,安装界面出现中 ...
- 一天完成把PC网站改为自适应!原来这么简单!
http://www.webkaka.com/blog/archives/how-to-modify-a-web-page-to-be-responsive.html 一天完成把PC网站改为自适应!原 ...
- java引用类型
java数据类型图: java的数据类型分基本数据类型(原始数据类型)和引用数据类型:1.基本八大类,图中可以很清楚的看到:这种类型的数据变量在声明之后java就会立刻分配给他内存空间.如:sho ...
- NSDate的运算
NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间 Dates NSDate类提供了创建date,比较date以及计算两个date之间间隔的功能.Date对象是不可改变的. 如 ...
- Phonegap hello world 不容易啊~!
今天一个项目要用phonegap,当初就是觉得phonegap配置太tmd的麻烦了,所以转头appcan,但今天项目必须用-- 先是看到官方说用nodejs装,tmd的,总是重复同一个错误,安装不起, ...
- nginx日志切割
脚本完成后将其存入 Nginx 安装目录的 sbin 中,取名为 cut-log.sh,之后使用 crontab -e 新增一个定时任务,在其中增加执行这个脚本: #!/bin/bash ## 零点执 ...