写在之前

截止到昨天我已经写完了 Python 的基本对象类型,在了解了这些戏本的对象类型以后,我们就可以用 Python 的语句来使用它们,语句的作用就是用某些逻辑组合操作某些对象,所以接下来的一段时间我们将开始 Python 语句的学习。

运算符

我们虽然在之前的文章中(零基础学习 Python 之数字与运算)讲过运算,但那个时候我们处于刚开始接触的阶段,所以我们只是稍微讲了其中的一点点,编程语言的运算符其实还是比较多的,我接下来会将各种运算符总结一下。

1.算术运算符

上表是常见的算术运算符(截图自菜鸟教程),上面的运算符和我们以前中学时学的运算符大多数是一样的,因为我们平时学的运算符有计算的优先级,在编程语言里面也是有优先级的,且规律和在数学中的是一样的,如果不确定的话可以自己试试。

2.比较运算符

在计算机中任何两个同一类型的对象都可以比较,比如数字,字符串等等,但是一定要记住比较的双方一定要是同一类型的对象。因为不同类型的对象比较起来完全没有意义,你说一只猪和一台电视两个谁大呢?所以在真正的编程中,我们要谨慎对待。

比较运算符其实我们也是很早很早以前就接触了:大于,小于,等于,不等于等等,Python 里也都基本上是这些东西,都熟悉的很。

上表就是常用的比较运算符(截图自菜鸟教程),比较的返回结果一个是 True 一个是 False,这个的意思就是如果比较的结果成立,则为真,返回 True;如果比较的结果不成立,则为假,返回 False。下面用几个例子来演示一下。

>>> a = 10
>>> b = 20
>>> a > b
False
>>> a < b
True
>>> a == b
False
>>> a >= b
False
>>> a <= b
True
>>> a != b
True
复制代码

其实不是只有数字才可以比较,字符串也可以比较,字符串的比较是按照字典序来进行的,首先比较第一个字符,相同的话再比较第二个字符,直到找到不同的或者到了末尾。

>>> a = 'abcd'
>>> b = 'abcf'
>>> a > b
False
>>> a < b
True
复制代码

在 Python 中两种不同类型的对象虽然可以比较,但是我建议你还是不要这么做。

3.逻辑运算符

逻辑运算符里我想讲的就是布尔(bool)类型,至于什么是逻辑你可以先不用懂,或者你想知道的话可以去 Google,权当它就是个叫法就好了。

其实在所有的高级语言中,都有这么一类对象,这类对象被称为布尔类型,它是用一个人的名字来命名的 -- 乔治布尔,感兴趣的同样可以去搜一搜,在这里多说一句,其实你为什么会觉得数学学起来枯燥无味,你觉得它充满了理性,一点没有意思,但是创造数学里各种组成的大人物都是有血有肉的,多去了解一下数学的历史,数学的人物,了解一下背后的东西可以提高学习数学的乐趣。

那么到底什么是布尔类型?其实就是返回的结果为 True 或 False 的对象。如果你想判断表达式的布尔类型返回值,可以用 bool() 函数。下面我来说一下一些比较特殊的布尔值,简单的可以自己去尝试,学习的乐趣就是在不断尝试中激发出来的。

>>> a = "" #这是空
>>> bool(a)
False
>>> a = " " #这是空格,空格是一个字符
>>> bool(a)
True
>>> a = [] #这是一个空列表
>>> bool(a)
False
>>> a = {} #这是一个空字典
>>> bool(a)
False
>>> a = 'leey'
>>> bool(a)
True
复制代码

下面来说说布尔运算,进行布尔运算的运算符成为逻辑运算符,有 and, or 和 not。

and 是 “与” 运算,它的运算方法是:如果 A 是 True,那么就计算 B,如果 B 为 True,那么结果就是 True,如果 B 为 False,那么结果就是 False;如果 A 是 False 的话,直接不用计算 B,直接返回 False。

>>> 4 > 2 and 4 > 3
True
>>> 4 > 2 and 4 < 3
False
>>> 4 < 2 and 4 > 3
False
复制代码

or 是 “或” 运算,它的运算方法是:如果 A 是 True,那么不用看 B,直接返回 True;如果 A 是 False,再计算 B,B 是什么,就返回什么。

>>> 4 > 3 or 4 > 2
True
>>> 4 < 3 or 4 > 2
True
>>> 4< 3 or 4 < 2
False
复制代码

not 是 “非” 运算,即无论是什么,都要否定它。

>>> 4 > 3
True
>>> not(4>3)
False
>>> 4 < 3
False
>>> not(4<3)
True
复制代码

当然了,在进行逻辑判断或者条件判断的时候,肯定不都是上述的简单的表达式,肯定会碰到复杂的表达式,碰到复杂的表达式的时候最好使用括号,这样便于分辨和运算,再者是因为前面我们说的优先级的问题。

优先级的顺序基本上是: " == " > "!=" > "not" > "and" > "or",所以为了不去记这些复杂的优先顺序,还是用括号吧,用多余的脑容量去记点别的问题。

写在最后

更多内容,欢迎关注公众号「Python空间」,期待和你的交流。

零基础学习 Python 之运算符相关推荐

  1. python基础代码事例-零基础学习Python开发练习100题实例(2)

    零基础学习Python开发练习100题实例(2) 2018-02-26 13:11:39 1934浏览 11.题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个 ...

  2. [转载] Python Web开发—进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程

    参考链接: 在Python中创建代理Web服务器 2 Python Web开发-进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程 [课程简介] 这是一门Python We ...

  3. 零基础学python 视频_全网最全Python视频教程真正零基础学习Python视频教程 490集...

    Python Web开发-进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程 [课程简介] 这是一门Python Web开发进阶课程,手把手教你用Python开发完整的商业 ...

  4. 0基础学好python难不难_零基础学习Python难不难?Python有什么优势?

    原标题:零基础学习Python难不难?Python有什么优势? Python是一种计算机程序设计语言.首先,我们普及一下编程语言的基础知识.用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个 ...

  5. 零基础学python多久可以工作-零基础学习python,要多久才可以学好并且找到工作?...

    原标题:零基础学习python,要多久才可以学好并且找到工作? 零基础的你想学习python肯定很关注学习python的最短时间是多久,怎样才能快速学习python等问题,今天就为大家详细地回答一下这 ...

  6. 零基础学python需要多久-零基础学习Python大概要多久,感悟分享?

    在互联网时代编程无处不在,它存在于我们生活和工作之中,可以说哪里有通讯,哪里有互联网就一定会有编程.由于Python软件比较简便,因而Python已经成为,编程人员乐于选择的一款软件,这款软件的语言比 ...

  7. 零基础学python需要多久-零基础学习Python开发需要多长时间?

    原标题:零基础学习Python开发需要多长时间? Python开发技术目前可谓是互联网行业编程界的新宠,不少零基础想要进入IT行业的人员都纷纷加入学习Python开发.零基础学习Python开发技术需 ...

  8. 自学python需要多长时间-零基础学习Python开发需要多长时间?

    原标题:零基础学习Python开发需要多长时间? Python开发技术目前可谓是互联网行业编程界的新宠,不少零基础想要进入IT行业的人员都纷纷加入学习Python开发.零基础学习Python开发技术需 ...

  9. 学python需要多久-零基础学习python,要多久才可以学好并且找到工作?

    原标题:零基础学习python,要多久才可以学好并且找到工作? 零基础的你想学习python肯定很关注学习python的最短时间是多久,怎样才能快速学习python等问题,今天就为大家详细地回答一下这 ...

最新文章

  1. 再谈Spring Boot中的乱码和编码问题
  2. Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存
  3. css里calculate,calc() ---一个会计算的css属性
  4. 运维秘籍:防止数据丢失“六脉神剑”
  5. apache是干嘛用的_同学,其实用免费版的IDEA来创建SpringBoot项目挺方便的...
  6. 全网首发:解决办法:shmget()一直失败,errno=-22
  7. 可以在搜索中突出显示网页上的多个单词_使用片段嵌入进行文档搜索
  8. MIPI DSI CLK计算
  9. 推荐一款插件layim.js 阿里大牛贤心制作的一款webim聊天插件
  10. 由浅入深的分析HashMap原理
  11. python—networkx:画随机几何图,找出中心节点并按路径长度染色
  12. k折交叉验证 python_Python实现K折交叉验证法的方法步骤
  13. 【Accumulation】The definition of SISR
  14. 网络上游戏制作相关学习站点的网址!
  15. 树莓派双目人脸识别门禁(在线+离线模式)+刷卡进出
  16. 「SAP技术」SAP MM MPN物料的采购初探
  17. 网络原理实验2 路由器的基本配置
  18. spark 大型项目实战(三十一): --性能调优之在实际项目中使用fastutil优化数据格式
  19. 《叶问》第1期--知数堂技术小贴士
  20. 生鲜系统应用的主要技术

热门文章

  1. 后台开发真的不需要看《tcpip详解》吗
  2. CPU的基本结构和功能
  3. C语言程序可以没有main函数
  4. 剑指offer五:两个栈实现一个队列
  5. 彻底理解JavaScript中回调函数 (推荐)
  6. 查看mysql,apache,php,nginx编译参数
  7. 数据库事务及锁机制介绍
  8. 在线白板,基于socket.io的多人在线协作工具
  9. websocket之二:WebSocket编程入门
  10. 【JavaScript】document对象属性