阅读 24

零基础学习 Python 之运算符

写在之前

截止到昨天我已经写完了 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空间」,期待和你的交流。

在这里插入图片描述

关注下面的标签,发现更多相似文章
评论