博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python入门(三)-- 基本运算符
阅读量:6866 次
发布时间:2019-06-26

本文共 2030 字,大约阅读时间需要 6 分钟。

hot3.png

python支持一下类型的运算符:

  • 算术运算符
  • 比较(关系)运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符
  • 成员运算符
  • 身份运算符

1、算术运算符

算术运算符在上个博客中已经介绍过。

需要特别注意的地方是:

a = -3**2# 这里会返回-9print(a)

负号的优先级比幂运算低

2、比较运算符

比较运算符的使用和Java中相同,需要注意的是:

  • 和java中不同,python中的False = 0,True =1
  • 和java中不同,python中的False、True首字母大写,java中小写
  • 和java中不同,python中的比较运算发支持“连写”,即:
//在Java中,比较运算符一次只能两两比较,不能连写public class Test {    public static void main(String[] args) {        int num = 5;        if (num>4 && num<10){            System.out.println(true);        }    }}
num = input("请输入一个数字")# python支持比较符连写if 5 < int(num) <= 10:    print(True)

3、赋值运算符

赋值运算符有:=、+=、-=、*=、/=、%=、**=、//=

使用规则和Java中类似,不再赘述。

4、逻辑运算符

python中的逻辑运算符不使用符号(&&、||、!),而直接英文单词and、or、not

5、位运算符

位运算符有:

  • &:与,同为1则为1,否则为0
  • | :或,只要有一个为1则为1,都为0则为0
  • ^:异或,相异时(一个为1一个为0),则为1,否则为0
  • ~ :取反
  • <<:左移,高位丢弃,低位补0
  • >>:右移,高位补0

6、成员运算符

python中提供成员运算符in、not in,用于判断元素是否在序列(列表、元组、字符串)中。

还可以用del 删除从序列中删除某个元素,比如:

aList = ['a', 1, 2, 3]if 'a' in aList:    del aList[aList.index('a')]print(aList)

7、身份运算符

python中的身份运算符有is、is not。

  • is用于判断两个标识符是否引用自同一个对象a is b相当于id(a) == id(b)id()用于获取对象的内存地址
  • is not相反

需要注意的是is和is not是用于判断“对象的引用地址是否相等”,而不是类型,类型判断使用type()和isinstance:

type和isinstance的差别:

  • type()不会认为子类是一种父类类型。
  • isinstance()会认为子类是一种父类类型(和java中的instanceof效果相同)。

另外一点需要注意的是,is 和 == 不同

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。这与java中不同,java中的==比较引用对象是否同一个,和python中的is相同。

最后需要注意,==、>、<比较值的时候,只要有”合适的“比较方法就可以进行比较,比如1和1.0进行比较,1 ==1.0会返回true。

例如:

>>> a = [1, 2, 3]>>> b = a>>> b is a True>>> b == aTrue>>> b = a[:]>>> b is aFalse>>> b == aTrue>>> 1 == 1.0True>>> 1 is 1.0False

8、 运算符的优先级排序

** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位与
^ | 位或
<= < > >= 比较运算符
<>  ==  != 等于、不等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符

9、python中的三元操作符

python3 中的三元操作符有点特别,是通过if else实现的。格式为:

a = x if x

比如说:

a = 4 if 1>2 else 5# 返回5print(a)

Java中的写法:

a = 1>2?5:4;

10、断言

python3 中提供assert操作符,当assert后面的表达式为False时,会抛出一个AssertionError异常。

可用于程序调试、中断程序运行等等。

比如:

assert 3 > 4

 

转载于:https://my.oschina.net/pierrecai/blog/894191

你可能感兴趣的文章
LeetCode31.下一个排列 JavaScript
查看>>
47. Permutations II
查看>>
ElasticSearch重要概念及简单用法
查看>>
SpiderData 2019年2月20日 DApp数据排行榜
查看>>
==与===的区别
查看>>
浅析 Vue 2.6 中的 nextTick 方法
查看>>
【剑指offer】6.用两个栈实现队列
查看>>
webpack4使用笔记之plugin
查看>>
python多线程
查看>>
React 中的函数式思想
查看>>
让移动开发更轻松 闲鱼基于Flutter构建跨端APP应用实践
查看>>
Python爬虫 --- 2.3 Scrapy 框架的简单使用
查看>>
【每日一包0023】concat-stream
查看>>
[译]了解Javascript中的执行上下文和执行堆栈
查看>>
Metricbeat 参考指南(步骤2:配置Metricbeat)
查看>>
doodoo.js快速入门教程
查看>>
XXL-EXCEL v1.1.1 发布,Java对象和Excel转换工具
查看>>
js获取当前时间(昨天、今天、明天)
查看>>
BlogStart
查看>>
elasticsearch 自动删除索引脚本
查看>>