2-Python3从入门到实战—基础之运算符
2018-02-03 09:27
447 查看
Python从入门到实战系列——目录
Python语言支持以下类型的运算符:算术运算符
比较(关系)运算符
赋值运算符
逻辑运算符
位运算符
成员运算符
身份运算符
运算符优先级
算术运算符
Python中算术运算符包含:+,-,*,/,%,**,//a = 10 b = 5 a + b 返回结果 15 a - 5 返回结果 5 a * b 返回结果 50 a / b 返回结果 2.0 # / 总是返回浮点数 a % b 返回结果 0 # % 表示a除以b取余数 a ** b 返回结果 100000 # ** 表示 a 的 b 次方 a // b 返回结果 2 # // 表示 a 除以 b 的商的整数部分 10.0 // 5.0 返回结果 2
比较运算符
Python中比较运算符包含:>,<,>=,<=,==,!=a = 10 b = 5 ( a > b ) 返回结果 True ( a < b ) 返回结果 False ( a >= b ) 返回结果 True ( a <= b ) 返回结果 False ( a == b ) 返回结果 False ( a != b ) 返回结果 True
赋值运算符
Python中赋值运算符包含:=,+=,-=,*=,/=,%=,**=,//=a = 10 b = 20 c = a + b # 将 a + b 的值赋值给c c += a # 相当于 c = c + a c -= a # 相当于 c = c - a c *= a # 相当于 c = c * a c /= a # 相当于 c = c / a c %= a # 相当于 c = c % a c **= a # 相当于 c = c ** a c //= a # 相当于 c = c // a
逻辑运算符
Python中逻辑运算符包含:and,or,notand: 布尔"与"; x and y 表示如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值;
a = 10 b = 20 print( a and b ) # 输出:20
or: 布尔"或"; x or y 表示 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值;
a = 10 b = 20 print( a or b ) # 输出:10
not: 布尔"非"; not x 表示如果 x 为 True,返回 False 。如果 x 为 False,它返回 True;
a = 10 b = 20 print(not(a==10)) # 输出:False print(not(b==10)) # 输出:True
位运算符
Python中位运算符包含:&,|,^,~,<<,>>;按位运算符是把数字看作二进制来进行计算的;& (按位与运算符):参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0;
a = 0b0011 1100 b = 0b0000 1101 a & b = 0000 1100
| (按位或运算符):只要对应的二个二进位有一个为1时,结果位就为1;
a = 0b0011 1100 b = 0b0000 1101 a | b = 0011 1101
^ (按位异或运算符):当两对应的二进位相异时,结果为1;
a = 0b0011 1100 b = 0b0000 1101 a ^ b = 0011 0001
~ (按位取反运算符):对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1;
a = 0b0011 1100 ~a = 1100 0011
<< (左移动运算符):运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0;
a = 0b0011 1100 a << 2 # a 左移两位,即结果:1111 0000
“>>” (右移动运算符):把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数;
a = 0b0011 1100 a >> 2 # a 右移两位,即结果:0000 1111
成员运算符
Python中成员运算符包含:in,not in;in:如果在指定的序列中找到值返回 True,否则返回 False;
a = 10 list = [1, 2, 3, 4, 5 ]; if ( a in list ): print ("变量 a 在列表中 list 中") else: print("变量 a 不在列表 list 中")
not in:如果在指定的序列中没有找到值返回 True,否则返回 False;
a = 10 list = [1, 2, 3, 4, 5 ]; if ( a not in list ): print ("变量 a 不在列表中 list 中") else: print("变量 a 在列表 list 中")
身份运算符
Python中身份运算符包含:is,is not;身份运算符用于比较两个对象的存储单元is 判断两个标识符是不是引用自一个对象,x is y, 类似 id(x) == id(y);
a = 20 b = 20 if ( a is b ): print (" a 和 b 有相同的标识") else: print (" a 和 b 没有相同的标识") if ( id(a) == id(b) ): print (" a 和 b 有相同的标识") else: print (" a 和 b 没有相同的标识") # 输出结果均为: a 和 b 有相同的标识 # 修改 b 的值 b = 30 if ( a is b ): print (" a 和 b 有相同的标识") else: print (" a 和 b 没有相同的标识") # 输出结果: a 和 b 没有相同的标识
is not 判断两个标识符是不是引用自不同对象,x is not y , 类似 id(a) != id(b)
a = 20 b = 30 if ( a is not b ): print (" a 和 b 没有相同的标识") else: print (" a 和 b 有相同的标识") if ( id(a) != id(b) ): print (" a 和 b 没有相同的标识") else: print (" a 和 b 有相同的标识") # 输出结果均为: a 和 b 没有相同的标识 # 修改 b 的值 b = 20 if ( a is not b ): print (" a 和 b 没有相同的标识") else: print (" a 和 b 有相同的标识") # 输出结果: a 和 b 有相同的标识
运算符优先级
运算符优先级从高到底如下:** 指数 (最高优先级) ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) * / % // 乘,除,取模和取整除 + - 加法减法 >> << 右移,左移运算符 & 位 'AND' ^ | 位运算符 <= < > >= 比较运算符 <> == != 等于运算符 = %= /= //= -= += *= **= 赋值运算符 is is not 身份运算符 in not in 成员运算符 not or and 逻辑运算符
相关文章推荐
- 5-Python3从入门到实战—基础之数据类型(列表-List)
- 1-Python3从入门到实战—基础之语法
- python3 [入门基础实战] 爬虫入门之xpath爬取脚本之家python栏目
- 9-Python3从入门到实战—基础之条件控制语句
- 4-Python3从入门到实战—基础之数据类型(字符串-String)
- 11-Python3从入门到实战—基础之生成器和迭代器
- python3 [入门基础实战] 爬虫入门之刷博客浏览量
- 7-Python3从入门到实战—基础之数据类型(字典-Dictionary)
- 8-Python3从入门到实战—基础之数据类型(集合-Sets)
- 2018年大神带你用Python零基础进阶课程入门爬虫flask实战
- 3-Python3从入门到实战—基础之数据类型(数字-Number)
- 6-Python3从入门到实战—基础之数据类型(元组-Tuple)
- python3 [入门基础实战] 爬虫入门之爬取豆瓣阅读中文电子书[热门排序]
- python3 [入门基础实战] 爬虫入门之爬取糗事百科
- Python基础入门-函数实战登录功能
- python3[爬虫基础入门实战] 爬取豆瓣电影排行top250
- CrazyWing:Python自动化运维开发实战 十九、html基础入门
- python3 [入门基础实战] 爬虫入门之智联招聘的学习(一)
- Python学习笔记(一):基础语法、变量类型、运算符(快速入门篇)
- python3 [入门基础实战] 爬虫之四季花果园的采果模块