Python的6种运算符(日记)
学习了许久的Python,我单独总结出了Python中比较常见的6种运算符,感觉略有不全,希望大伙可以一起讨论与研究Python!
一、算术运算符
加
减 -
乘 *
除 /
取余 %
取整 //
异号 -
不变号 +
取绝对值 abs(x)
转为整数 int(x)
转为浮点数 float(x)
复数 complex(re,im)
共轭复数 c.conjugate()
返回一个数值对(x//y,x%y) divmod(x,y)
x的y次幂(两种写法) x**y,pow(x,y)
二、比较运算符
小于(<),小于等于(<=),等于(==),大于(>),大于等于(>=),不等于(!=),is(判断两个标识符引用一个对象) ,is not(不是同一个对象)
1.八个比较运算符优先级相同
2.python允许链式比较 x<y<z,它相当于 x<y and y<z
3.复数不能用于比较大小,只能用于比较相等
三、逻辑运算符
x or y 短路运算符 (它只有第一个运算数为false才计算第二个运算数的值)
x and y 短路运算符 (它只有第一个运算数为True才进行第二个运算数的值)
not x not的优先级低(not a==b 相当于 not(a==b)),a = not b 是错误的
四、位运算符
python中的位运算符是把数字看作是二进制来进行计算的
& 按位与运算符:参数运算的两个值(二进制),如果两个相应为都为1,则改为的结果为 1,否则为0
| 按位或运算符:参与运算的两个值,只有对应位的两个数,有一个为1,结果为1
^ 按位异或运算符:对应位数数值不同为1,相同为0
~ 按位取反运算符:针对单个数,二进制格式,相应的位的数值取反,1变0,0变1
<< 左移动运算符:各二进制位左移若干位,高位丢弃,低位补0
>> 右移动运算符:各二进制位又移若干位
>>> a = bin(20)
>>> a
'0b10100'
>>> b = bin(30)
>>> b
'0b11110'
二进制数:默认8位,0b前缀标识,从地位到高位读取,从右到左写,不够的位数补0,直到读取8位为止
调用python二进制函数bin,0b代表二进制标识符,二进制数默认8位,则a,b对应的二进制数为:
a = 25 = 0001 1001
b = 62 = 0011 1110
a&b =24= 0001 1000
a|b =63 = 0011 1111
a^b = 39 = 0010 0111
~a = -26 = 1110 0110
负数:
源码:0001 1010
反码:1110 0101
补码:1110 0110
a<<2 = 100 = 0110 0100
a>>2 = 6= 0000 0110
>>> bin(25)
'0b11001'
>>> bin(62)
'0b111110'
>>> 25&62
24
>>> bin(24)
'0b11000'
>>> 25|62
63
>>> bin(63)
'0b111111'
>>> 25^62
39
>>> bin(39)
'0b100111'
>>> ~25
-26
>>> bin(-26)
'-0b11010'
>>> 25<<2
100
>>> bin(100)
'0b1100100'
>>> 25>>2
6
>>> bin(6)
'0b110'
验证
>>> eval('0b00011000')
24
>>> eval('0b00111111')
63
>>> eval('0b00100111')
39
>>> eval('-0b00011010')
-26
>>> eval('0b01100100')
100
>>> eval('0b00000110')
6
五、赋值运算符
= 简单的赋值
+= 加法赋值运算
-= 减法赋值运算
*= 减法赋值运算
/= 除法赋值运算
%= 取余法赋值运算
**= 幂赋值运算
//= 取整除赋值运算
六、成员运算符
python提供了成员运算符,测试一个元素是否在序列(squence)中
in 如果指定元素在序列中,返回True,否则返回False
not in 如果指定元素不在序列中,返回True,否则返回False
谢谢大伙观看!
Python的6种运算符(日记)的更多相关文章
- 在python中有多少种运算符?解释一下算术运算符
在python中,我们有7种运算符:算术运算符.关系运算符.赋值运算符.逻辑运算符.位运算符.成员运算符.身份运算符 我们有7个算术运算符,能让我们对数值进行算术计算 1.加号(+),将两个值相加 2 ...
- python基础之七种运算符
废话不多说,上节说的是数据类型,本篇讲讲数据运算. 在算式"1+2"中,"1"和"2"被称为操作数,"+"被称为运算符 ...
- [Python学习笔记1]Python语言基础 数学运算符 字符串 列表
这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档: ...
- 产品经理学Python:逻辑判断与运算符
这是关于Python的第6篇文章,主要介绍下逻辑判断与运算符. (一) 逻辑判断: 如果要实现一个复杂的功能程序,逻辑判断必不可少.逻辑判断的最基本标准:布尔类型. 布尔类型只有两个值:True和Fa ...
- Python教程(2.3)——运算符和类型转换
Python里有很多运算符(operator),这节就让我们来详细学一学. 注意:本文没有特别说明的地方,只考虑bool.int.float三种类型.例如"两边操作数类型相同时,得到的结果为 ...
- python学习笔记之运算符
目录 前言 软件环境 身份运算符 算术运算符 比较运算符 位移运算符 自变运算符 位运算符 逻辑运算符 成员关系运算符 Python真值表 最后 前言 在前面的博文介绍了Python的数据结构之后,接 ...
- Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助
Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助 目录 Pychar ...
- Python web前端 06 运算符 循环
Python web前端 06 运算符 循环 一.运算符 #JS六大数据类型 #number 数字 #string 字符串 #boolean 布尔型 #function 函数 #undefined 未 ...
- python基础--数据类型、运算符、流程控制
原文地址:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143165862 ...
随机推荐
- 解决VS2008,重新生成解决方案,很慢
正所谓:“工欲善其事,必先利其器“.我也算是深受其害了,特把经验分享出来为大伙分忧! 在刚来公司的时候,使用的公司提供的VS2008作为开发工具,有一个非常让人不爽的问题,就是在重新编译代码(重新生成 ...
- java学习笔记(中级篇)—JDK动态代理
一.什么是代理模式 相信大家都知道代理商这个概念,在商业中,代理商无处不在.假设你要去买东西,你不可能去找真正的厂家去买,也不可能直接跟厂家提出需求,代理商就是这中间的一桥梁,连接买家和厂商.你要买或 ...
- ASP.NET Core on K8S深入学习(4)你必须知道的Service
本篇已加入<.NET Core on K8S学习实践系列文章索引>,可以点击查看更多容器化技术相关系列文章. 前面几篇文章我们都是使用的ClusterIP供集群内部访问,每个Pod都有一个 ...
- 深入分析Java的编译期与运行期
不知大家有没有思考过,当我们使用IDE写了一个Demo类,并执行main函数打印 hello world时都经历了哪些流程么? 想通过这篇文章来分析分析Java的执行流程,或者换句话说想聊聊Java的 ...
- Yii2 登录报错
当用数据库登录系统报如下错误时 PHP Recoverable Error – yii\base\ErrorException Argument 1 passed to yii\web\User::l ...
- 逆向破解之160个CrackMe —— 013
CrackMe —— 013 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- Gradle 是什么
写在前面的话,最近在系统的学习Gradle,本来想写一篇关于 Gradle 的介绍. 但在官网发现了这篇关于 Gradle 的介绍,已经介绍的很好了,我就很直接翻译过来了. 原文地址 https:// ...
- Linux环境搭建 | 手把手教你安装Linux虚拟机
前言 作为一名Linux工程师,不管是运维.应用.驱动方向,在工作中肯定会需要Linux环境.想要获得Linux环境,一个办法就是将电脑系统直接换成Linux系统,但我们平常用惯了Windows系统, ...
- (四十八)c#Winform自定义控件-下拉按钮
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...
- slice splice(数组) 和 slice substr substring split (字符串)的区别
array.slice(start,end)slice()如果不传入参数二,那么将从参数一的索引位置开始截取,一直到数组尾如果两个参数中的任何一个是负数,array.length会和它们相加 stri ...