python3之运算符
1、python算术运算符
>>> a=15
>>> b=5
>>> a+b #加
20
>>> a-b #减
10
>>> a*b #乘
75
>>> a/b #除,为浮点数
3.0
>>> a%b #取模,余数
0
>>> a**b #取幂,a的b次方
759375
>>> a//b #取整除,返回商的整数部分
3
2、python比较运算符
>>> 1==1 #等于
True
>>> 1!=1 #不等于
False
>>> 1!=2
True
>>> 1>2 #大于
False
>>> 2>1
True
>>> 2<1 #小于
False
>>> 1<2
True
>>> 2>=1 #大于或等于
True
>>> 2>=2
True
>>> 2>=3
False
>>> 2<=3 #小于或等于
True
>>> 2<=2
True
>>> 2<=1
False
3、python赋值运算符
>>> a=123
>>> a=b=c=123 #多变量赋值
>>> a,b,c=1,2,'python' #多变量按顺序赋值 >>> a,b=10,20
>>> c=0
>>> c+=a #等效于c=c+a
>>> c
10 >>> c=30
>>> c-=a #等效于c=c-a
>>> c
20 >>> c=5
>>> c*=a #等效于c=c*a
>>> c
50 >>> c=30
>>> c/=a #等效于c=c/a
>>> c
3.0 >>> c=36
>>> c%=a #等效于c=c%a
>>> c
6 >>> c=2
>>> c**=a #等效于c=c**a
>>> c
1024 >>> c=33
>>> c//=a #等效于c=c//a
>>> c
3
4、python位运算符
按位运算符是把数字看作二进制来进行计算的。
& 按位与运算符,参与运算的两个值,如果连个相对应位都为1则该位结果位1,否则为0
| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^ 按位异或运算符:当两对应的二进位相异时,结果为1
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
a = 60 # 60 = 0011 1100
b = 13 # 13 = 0000 1101
c = 0 c = a & b #12 = 0000 1100 都为真即为1否则为0
print('c的&值:',c) c = a | b #61 = 0011 1101 只要有一个为真则为1否则为0
print('c的|值:',c) c = a ^ b #49 = 0011 0001 二进制结果位相异时为1否则为0
print('c的^值:',c) c = ~a #-256-195= 1100 0011 反方向取值即可以取256-(195)的值-61
print('c的~a值:',c) c = a << 2 #240= 1111 0000 对a二进制位向左位移2位,移动后面用0补齐
print('c的<<值:',c) c = a >> 2 #15 = 0000 1111 对a二进制位向右位移2位,移动后面用0补齐
print('c的>>值:',c) c的&值: 12
c的|值: 61
c的^值: 49
c的~a值: -61
c的<<值: 240
c的>>值: 15
5、python逻辑运算符
and x and y 布尔‘与’,如果x为false,x and y返回false,否则它返回y的计算值
or x or y 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True
>>> a = 10
>>> b = 20
>>> x = 0
>>> a and b #当a和b都为真时才输出b的值
20
>>> a and x #a为true,x为false时输出为0
0
>>> x and a
0 >>> a or b #a和b有一个为真则输出第一个碰到为真的值
10
>>> a or x
10
>>> y = 0
>>> x or y #两个都不满足时,才输出为0
0 >>> not a #取a的反值
False
>>> not y #y本身为false,取反就为true了
True
6、python成员运算符
Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
in 如果在指定的序列中找到值返回 True,否则返回 False。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。
>>> l1 = [1,2,3,4,5]
>>> tuple = ('a','b','c')
>>> dict = {'k1':'python','k2':'java','k3':'php'} >>> 'a' in tuple #成员在元组其中则返回true
True
>>> 1 in l1
True
>>> '' in l1 #注意这是字符串了,所以返回false
False
>>> 6 not in l1 #判断成员不在其中返回true
True
>>> 'd' not in tuple
True >>> 'python' in dict.values() #判断‘python‘在字典的value中返回true
True
>>> 'k1' not in dict.values() #k1不是values的成员,所以返回true
True
>>> 'k5' not in dict.keys()
True
7、python身份运算符
身份运算符用于比较两个对象的存储单元
is 判断两个标识符是不是引用自一个对象,如果是同一个对象则返回true否则返回false
is not 判断两个标识符是不是引用自不同的对象,如果引用的不是同一个对象则返回true,否则返回false
>>> a = 11
>>> b = 'ab' >>> a is b #引用不同对象返回false
False
>>> a is not b #引用不同对象返回true
True
>>> c = 11
>>> a is c #应用自同一个内存地址对象返回true
True
>>> id(a)
8956800
>>> id(c)
8956800 >>> a is not c #是同一个地址对象返回false
False
#is 与 == 的区别
#is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等
>>> a = [1,2,3,4]
>>> b = a
>>> id(a)
139653642018888
>>> id(b)
139653642018888
>>> a is b #内存地址相同则返回true
True
>>> a == b #值相同返回true
True
>>> b = a[:] #将a列表的值赋值给了b,此时b的内存地址发生了改变,但值同a相同
>>> id(b)
139653642018952
>>> b
[1, 2, 3, 4]
>>> b is a #内存地址不同了,则返回false
False
>>> b == a #值还是相同则返回true
True
8、python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
| 运算符 | 描述 |
| ** | 指数 (最高优先级) |
| ~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
| * / % // | 乘,除,取模和取整除 |
| + - | 加法减法 |
| >> << | 右移,左移运算符 |
| & | 位 'AND' |
| ^ | | 位运算符 |
| <= < > >= | 比较运算符 |
| <> == != | 等于运算符 |
| = %= /= //= -= += *= **= | 赋值运算符 |
| is is not | 身份运算符 |
| in not in | 成员运算符 |
| not or and | 逻辑运算符 |
python3之运算符的更多相关文章
- ② Python3.0 运算符
Python3.0 语言支持的运算符有: 算术运算符.比较(关系)运算符.赋值运算符.逻辑运算符.位运算符.成员运算符.身份运算符.运算符优先级 一.算术运算符 常见的算术运算符有+,-,*,/,%, ...
- Python3的运算符
比较运算符: == != < > <= >= 逻辑运算符 或与非 or and not x or y : x为true,则不计算y的值,直接返回ture x为false,则 ...
- (05)-Python3之--运算符操作
1.算数运算 num_a = 100 num_b = 5000 # 加法 + print(num_a + num_b) # 减法 - print(num_a - num_b) # 乘法 * print ...
- Python3 * 和 ** 运算符
1.算数运算 * 代表乘法 ** 代表乘方 1>>> 2 * 52103>>> 2 ** 5432 2.函数形参 *args 和 **kwargs 主要用于函数定 ...
- [转]python3之日期和时间
转自:https://www.cnblogs.com/zhangxinqi/p/7687862.html#_label6 阅读目录 1.python3日期和时间 2.时间元组 3.获取格式化的时间 4 ...
- python2和python3的区别——持续更新
1.在 cookbook 上看到的,python3支持 *运算符 来接收迭代变量,如: a, *b = [, , , ] python2是不支持的! 2.在 cookbook 上看到的,python3 ...
- Python3基础-表达式和运算符
表达式和运算符 什么是表达式? 1+2*3就是一个表达式,这里的加号和乘号叫做运算符,1.2.3叫做操作数. 1+2*3经过计算后得到的结果是7,我们可以将计算结果存放在一个变量里,result=1+ ...
- Python3 运算符
装载自:https://www.cnblogs.com/cisum/p/8064222.html Python3 运算符 什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 4 +5 ...
- python2.x版本与python3.x版本的区别以及运算符
python2.x中: 重复代码,语言不统一,不支持中文 py2中除法获取的都是整形 py2中有long(长整形) print 可以加括号也可以不加括号 range 在py2中打印的结果是列表 py2 ...
随机推荐
- java多线程编程核心技术——全书总结
这本书大致上是看完了,不过第七章结束的匆匆忙忙很不好. 不过好在还是看完了,勉强算吧. 回想这一年,挺感慨的,心里一直谋求着进步,却很难行动起来. 仔细想想确实啊,想一直进步肯定要牺牲自己的业余时间, ...
- jmeter的使用---web测试
jmeter的使用---web测试 url:http://127.0.0.1:1080/WebTours/ 1.通过badboy录制脚本 1.1输入url点击右侧的跳转按钮,随后右侧显示url界面 1 ...
- 微服务架构之RPC-client序列化细节
通过上篇文章的介绍,知道了要实施微服务,首先要搞定RPC框架,RPC框架的职责要向[调用方]和[服务提供方]屏蔽各种复杂性: (1)让调用方感觉就像调用本地函数一样 (2)让服务提供方感觉就像实现一个 ...
- IDEA热部署(三)---jetty插件调试(转)
我们在开发的时候习惯对于项目的框架进行分层,在idea中对于不同的层,我们使用module来进行划分,不同的module之间是通过maven来进行依赖的. 我们的项目结构是这样的,admin是我们的w ...
- mysql连接错误问题
ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server 解决方法:1. 改表法.可能是你的帐号不允许 ...
- IDEA快速创建Maven+SpringBoot项目时:Cannot download https://start.spring.io;Status:403
先展示一下我遇到的问题: 用浏览器搜索是有页面的,但是但是但是呢,用IDEA快速构建的时候就报403 咳咳!巴格虐我万千遍,我待技术如初恋... 我看到的解决办法有以下两种,当然,我只想说:" ...
- Robotframework-Appium系列:登录操作
之前Appium的环境已经配置完成(参考Robotframework-Appium系列:安装配置),接下来就是如何使用Appium来完成我们的apk的测试工作. 一.环境准备 所需的软件列表如下 Ro ...
- 二叉树Binary_Tree(1):二叉树及其数组实现
定义 二叉树: 二叉树是一种特殊的树.二叉树的特点是每个结点最多有两个儿子,左边的叫做左儿子,右边的叫做右儿子,或者说每个结点最多有两棵子树.更加严格的递归定义是:二叉树要么为空,要么由根结点.左子树 ...
- Visual Studio Code 通过 Chrome插件Type Script断点调试Angular 2
1. 下载Visual Studio Code (https://code.visualstudio.com/) 2. 安装插件Debugger for chrome 3. 确定tsconfig.js ...
- BZOJ 4553 Tjoi2016&Heoi2016 序列
Tjoi2016&Heoi2016序列 Description 佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他.玩具上有一个数列,数列中某些项的值 可能会变化,但同一个时刻最 ...