Python 运算符

本章学习点:

  1. 算数运算符 + - * / ** % // (加,减,乘,除,求幂次方,求余,求商)
  2. 赋值运算符 = += -= *=  /= **= %= //= (加赋值,减赋值,乘赋值,除赋值,求幂次方赋值,求余赋值,求商赋值)
  3. 比较运算符 ==  !=  <>  >  <  >= <= (等于,不等于,不等于,大于,小于,大于等于,小于等于)
  4. 布尔值 True (真) 与 False(假)
  5. 逻辑运算符  and  or not (且,或,取非)
  6. 成员运算符  in 与 not in (包含与不包含)

一.算数运算符

算数运算符之前已经说明过了,详细请看 Python条件语句与基本数据类 的数字部分。

二.赋值运算符

赋值运算符,其实很好理解,平常我们看到 number = 1 这个语句,其实就是一个简单的赋值语句不带任何算数运算的赋值语句。那要是有算数运算的赋值语句呢,该是如何的呢?若规定,需要让number加一,那么我们会按照初的语句number = number + 1 这样写,那么如果说总算是这样写,会不会比较麻烦呢?有不有个快捷的方法能提高编码效率呢?答案肯定是有的,我们可以使用number += 1 即可实现。 number += 1 的意思是说,将number加一后,就直接赋值给number,其实道理是运算一样的道理。只是说把加号与赋值号相结合了而已。那么既然有+=,肯定会有-=等等。那么其他的我们以以下代码展示出来。

#!/usr/bin/env python
# -*- coding:utf8 -*-

number = 1
number += 1
number -= 1
number *= 1
number /= 1
number %= 1
number **= 1 #求幂
number //= 1 #求商取整

三.比较运算符

比较运算符就更好理解了,比较嘛,顾名思义,就是比较大与小以及是否相等的问题呗。那到底是如何的呢?定义number1=1,number2 = 2,那判断两者是否相等就使用==符号,flag = number1 == number2 。为了看的更清楚,咋们看看以下代码就知道了。

# !/usr/bin/env python
# -*- coding:utf8 -*-

number1 = 1
number2 = 2

flag = number1 == number2
flag = number1 > number2
flag = number1 < number2
flag = number1 >= number2
flag = number1 <= number2
flag = number1 != number2
flag = number1 <> number2 

特别要注意的是:

!= 是指不等于,<> 也是指不等于,两者可替换,!=在代码中使用的比较普遍,<>在数据库中普遍。建议使用  != 。

四.布尔值 True (真) 与 False(假)

对于布尔值来说,只有两个值,要么是真,要么就是假。也就是说对于妈妈问小孩子事情,小孩子说的话要么是真话,要么是假话。其实布尔值已经在比较运算符里面就体现了,在判断两个数的大小时,就已经是一个布尔值的体现了,判断后返回的就是布尔值。还有就是在 while 和 if 判断的时候,条件返回回来的也就是布尔值。那布尔值的值是什么呢,真就是True,假就是False,注意首字母大写。

五.逻辑运算符and  or not (且,或,取非)

对于逻辑运算符,其实还是布尔值的一种,只是说它换了马甲进行去展示而已,本质上还是布尔值。

先解释下and,or,not是什么先。来来,看这里。

and是且的意思,举个栗子,对一个女孩子的眼睛进行称赞的时候,就说呀,你的眼睛又大又漂亮,那么这个就是且的意思了,翻译过来就是你的眼睛不仅大而且漂亮;如果说眼睛大不成立,那么这句话也就是一句假话。意思就是说对于and来说,有一个条件不成立,就整句话就是假了。有假则假。

or的意思呢?就是或者的意思,再举个栗子,去买水果付款的时候,老板说你可以使用手机支付,也可以使用纸币支付。那么这句话翻译过来就是 可以使用手机支付,或者纸币支付。那么假如说你使用手机支付,那么这个行为就是成立的了,就是真的了。意思就是说对于or来说,只要有一个条件为真的,那么整体的行为就是真的了。有真则真。

not呢?再举个栗子,当去购物店买衣服的时候,售货员拿了个衣服说这件事衣服就是你刚刚试穿的意思,但是实际上不是的,所以你说出了这个不是我刚刚试穿的衣服,就否定了售货员所说的。那么not就是否定的意思,取反,假的经过not后变成了真的,真的经过not后变成了假的。

弄清楚这三者是什么意思,那么接下来咋们看一段代码。

# !/usr/bin/env python
# -*- coding:utf8 -*-

name = "Jeff"
age = 20
result = name == "Jeff" or age == 21 and 1 == 2
print(result)
result = name == "Jeff" and age == 21 or 1 == 1 and age == 21
print(result)

那么结果是:

True
False

为什么第一个result是为True呢?其实这里藏着一个知识点。我们之前就说过了,一旦and的一个条件为假的时候,那么整体就是为假了,or的一个条件为真的时候,那么整体就是真的。

那么按照我们上面所说的,先看第一句代码。result = name == "Jeff" or age == 21 and 1 == 2 。咋们来仔细分析下,程序是如何走的。首先,name=="Jeff"确实是真的,那么再往后面看是一个or关键字,那么按照上面所说的,只要or有一个是真的,整体就是真的了,那么name=="Jeff"确实是真的成立,那么就不会往下执行了,直接就返回了True了。

再来看看第二句代码。result = name == "Jeff" and age == 21 or 1 == 1 and age == 21 。 name=="Jeff" 是真的,后面有and关键字,这时候我们说and是碰到假的才会进行整体,那么前面的条件是真的,所以还是得往下执行,看age==21这个是假的,那么通过and,发现得出的结果是假的,那么and一旦有一个假,那么整体就是假的了,所以后面就不往下执行了,直接返回了False了。

注明:如果有括号,先计算括号里面的,再计算其他的。

那么我们归纳下:

执行顺序:

    若有括号,先执行括号里面的。

    若没有括号,从前往后执行 结果

                       True  Or  ==> True

                       True And ==> 继续执行

                       False Or ==> 继续执行

                      False And ==> False

六.成员运算符  in 与 not in (包含与不包含)

对于成员运算符来说,实际上还是布尔值。下面来说说in 和 not in的意思

in 就是包含的意思,举个栗子,有一个字符串s = "abc" ,那么想判断ab这个单词、a这个单词、ac这个单词是否在这个字符串里面,那么该如何判断呢?那么就是

# !/usr/bin/env python
# -*- coding:utf8 -*-

s = "abc"
result = "ab" in s
print(result)
result = "a" in s
print(result)
result = "ac" in s
print(result)

输出的结果是

True
True
False

也就是说判断是否在里面可以使用in,那么与此类似,not in也是一样的道理,判断是否不在里面可以使用not in

 

本章结束,谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值