文档章节

python入门(三)-- 基本运算符

兴趣使然的程序员
 兴趣使然的程序员
发布于 2017/05/07 11:04
字数 961
阅读 22
收藏 1

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

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

1、算术运算符

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

需要特别注意的地方是:

a = -3**2
# 这里会返回-9
print(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 == a
True
>>> b = a[:]
>>> b is a
False
>>> b == a
True
>>> 1 == 1.0
True
>>> 1 is 1.0
False

8、 运算符的优先级排序

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

9、python中的三元操作符

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

a = x if x<y else y

比如说:

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

Java中的写法:

a = 1>2?5:4;

10、断言

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

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

比如:

assert 3 > 4

 

© 著作权归作者所有

兴趣使然的程序员
粉丝 23
博文 112
码字总数 87412
作品 0
深圳
程序员
私信 提问
Python实战开发之Pyramid Web框架在商城项目中的应用实战资料

Python实战开发之Pyramid Web框架在商城项目中的应用实战资料 第一讲:Python基础和入门介绍(Web开发基础) 第二讲:Python语言基础(运算符与表达式,控制流,函数,模块) 第三讲:Pytho...

神人
2013/07/15
3K
4
分享我自己写的一套Python爬虫学习经验

最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多。学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫感兴...

崔庆才
2015/02/23
4K
25
一张图认识Python(附基本语法总结)

一张图带你了解Python,更快入门, 视频介绍>>>> 简单学Python安全简单学Python安全">http://edu.51cto.com/center/course/lesson/index?id=263601)简单学Python安全 Python基础语法总结: ......

安全牛课堂
2018/05/22
0
0
完美Python入门基础知识点总结,看完你的Python就完全入门了!

Python标识符 在 Python 里,标识符有字母、数字、下划线组成。 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 Python 中的标识符是区分大小写的。 以下划线...

糖宝lsh
2018/08/16
17
0
实战(一)之使用自带urllib和re正则表达式获取电影详情页链接

一、关于urllib库 网上urllib库的教程文章非常多而且详细具体,我就不过多叙述和重复了,个人更加倾向于将精力放在实战上,而不是反反复复拷贝教程(其实是因为我懒),来几篇干货参考。 py...

歪文
2018/10/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
今天
2.4K
15
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
今天
41
0
计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
40
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
61
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部