一、赋值运算

简单的赋值运算符号:=

c = a + b   #将a+b的元算结果赋值给c

加法赋值运算符:+=

c += a   #等效于 c = c + a

减法赋值运算符:-=

c -= a    #等效于 c = c - a

乘法赋值运算符:*=

c *= a    #等效于 c = c * a

除法赋值运算符:/=

c /= a    #等效于 c = c / a

取模赋值运算符:%=

c %= a    #等效于 c =c % a

幂赋值运算符:**=

c **= a    #等效于 c = c ** a

取整除赋值运算符://=

c //= a    #等效于 c = c // a

二、算术运算

加---两对象相加:+

a + b

减---两对象相减:-

a - b

乘---两对象相乘,或是返回一个被重复若干次的字符串:*

a * b

除---a除以b:/    #计算机表示小数的时候会有误差

a / b

取模---返回除法的余数:%

a % b

幂---返回a的b次幂:**

a ** b

取整除---返回商的整数部分://

a // b

三、比较运算,返回值为布尔值

等于:=

a == b    #返回值为 True 或 False

不等于:!=或<>

a != b    #返回值为 True 或 False

a <>b    #返回值为 True 或 False ,在python3.6中不支持,用 != 替代

大于:>

a > b    #返回值为 True 或 False

小于:<

a < b    #返回值为 True 或 False

大于等于:>=

a >= b    #返回值为 True 或 False

小于等于:<=

a <= b    #返回值为 True 或 False

四、逻辑运算

1.  and:布尔"与"     x and y

如果x为False,x and y 返回 False,否则它返回 y 的计算值

and是并且的意思,左右两端的值必须都是真,运算结果才是真,出现False即停止运算

print(True and True and False and False and True and False)
#返回值为False,只运算到第一个False就停止运算了 

2.  or:布尔"或"    x or y

如果 x 为 True,它返回 True ,否则返回y的计算值

or是或者的意思,左右两端有一个是真的,结果就是真,只有全部都是假,结果才能是假

a or b    #返回值为 True(a或b有一个为True) 或 False(a或b都为False)

print( True or False)  #返回值为True 

3.  not:布尔"非"     not x

如果x为True,返回False;如果x为False,则返回True

not是非的意思,原来是假,现在是真;非真即假,非假即真

not(Ture and True)    #返回值为False

print(not True)    #返回值为False

print(not not not not not not False)    #返回值为False,因为每两个not相互抵消了 

"""

针对逻辑运算有进一步的研究:

1. 在没有 () 的情况下,not 优先级高于 and ,and 优先级高于 or ,同一优先级,从左往右计算

即优先级关系为 () > not > and > or

例题:判断下列逻辑语句的结果是True还是False

3>4 or 4<3 and 1 == 1

1<2 and 3<4 or 4>5 and 2<1

1>2 and 3<4 or 4>5 and 2>1 or 9<8

1>1 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6

not 2>1 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6

解法:

第一题:

a.先把每个比较算式运算出来,如第一个将变为:False or False and True

b.再按照 () > not > and > or 的优先级进行运算:此时第一题将先计算 False and True,结果为False

c.继续按照优先级进行计算:此时需要计算的算式变为了 False or False

故第一题的结果为False

第二题

a.先把每一个比较运算式计算出来:True and True or False and False

b.第一个 and 的算式为 True and True,计算结果为True

c.第一个 and 相连的运算符为 or,而 o r的两边只要出现 True,or 算式的结果即为 True

故第二题的答案为True

第三题

a.先把每一个比较运算式计算出来:False and True or False and True or False

b.第一个and的算式为False and True,结果为False:第二个 and 的算式为 False and True,结果为False

c.此时算式变为False or False or False

故第三题的答案为False

第四题

方法同上,注意True的断电机制

第五题

a.先把每一个计较算式运算出来:not True and True or False and True and True or False

b.存在not,先计算not,not True结果为False:False and True o rFalse and True and True or False

c.依此计算and:False or False or False

d.计算or

故第五题的结果为False

2.x or y,x为真,值就是x;x为假,值就是y

  如果 x != 0,那么就是x;如果 x == 0,那么就是y;如果第一个数是0,则选择第二个数,如果第一个数不是0,则选择第一个数

x and y , x为真,值是y ;x为假,值是x

如果 x!=0 ,那么值就是y,如果 x == 0,那么就是x;即如果第一个数是零,则选择第一个数(选择0),如果第一个数不是零,则选择第二个数

 or和and是相反的

例题:求出下列逻辑语句的值

8 or 4

0 and 3

0 or 4 and 3 or 7 or 9 and 6

解法:

第一题

a.第一个数不等于0,所以结果为第一个数,8

第二题

a.第一个数是0,所以结果是第一个数,0

第三题

a.先计算and,4and3 和 9and6:0 or 3 or 7 or 6

b.再计算or

0 or 3--->3

3 or 7--->3

3 or 6--->3

故结果为3

3. 2>5 and 3   #False相当于0

解法:

a.先计算比较算式,2>5--->False

b.False and 3 相当于 0 and 3    #False相当于0

c.故结果为False

2<1amd4>6or3and4>5or6

解法:

a.先计算比较算式:False and False or 3 and False or 6

b.再计算and:False and False ---> False

3 and False ---> 相当于 3 and 0 ---> False

故 False or False or 6

c.再计算or:False or False ---> False

False or 6 ---> 相当于0 or 6 ---> 6

故计算结果为6

注意混合型:

如:2>1 or 1

2<1 or 1

Python基础:九、运算符的更多相关文章

  1. Python 基础 常用运算符

    Python 基础 常用运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算术运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算. 今天我们暂只学习 算术运算. ...

  2. python基础之运算符

    算术运算符 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 31 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11 * 乘 - 两个数相乘或是返回一个被重复 ...

  3. Python基础-4 运算符

    运算符 运算符:以1 + 2为例,1和2被称为操作数,"+" 称为运算符. Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 ...

  4. Python基础 基本运算符

    什么是操作符 形如 1+1 = 2 这样的 1 就是操作数 + 就是操作符 python语言支持的操作符: 算数运算符 比较运算符(关系) 赋值运算符 逻辑运算符 位运算符 会员操作符 标志操作符 算 ...

  5. python基础-变量运算符(3)

    一.注释 注释就是对代码的解释和说明.目的是为了让别人和自己很容易看懂.为了让别人一看就知道这段代码是做什么用的.正确的程序注释一般包括序言性注释和功能性注释.序言性注释的主要内容包括模块的接口.数据 ...

  6. python基础02—运算符与流程控制

    运算符与流程控制 运算符 赋值运算 用'='表示,'='的左边只能是变量 算术运算 +.-.*:加.减.乘 /:除法运算,运算结果为浮点数 //:除法运算,运算结果为整数(商) %:求余 **:求幂 ...

  7. python基础2 - 运算符

    3. 运算符 3.1 算数运算符 算数运算符是 运算符的一种 是完成基本的算术运算使用的符号,用来处理四则运算 运算符 描述 实例 + 加 10 + 20 = 30 - 减 10 - 20 = -10 ...

  8. python 基础之运算符

    运算符 a=10 ,b=20 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘 ...

  9. Python基础知识-运算符

    今日学习内容 用户交互 用户交互就是人向机器发出指令,机器分析处理后,给人们返回操作结果(装13的说法).直白地讲,就是人往计算机中输入(input)数据,计算机输出(output)结果.交互的本质就 ...

  10. python基础(2)-运算符&while循环

    算术运算符 a=5; b=2; print(a+b);#result:7 desc:加 print(a-b);#result:3 desc:减 print(a*b);#result:10 desc:乘 ...

随机推荐

  1. django中的Q查询

    转载于:https://mozillazg.com/2015/11/django-the-power-of-q-objects-and-how-to-use-q-object.html 原文写的很详细 ...

  2. 面试html部分

    1.DOM结构 —— 两个节点之间可能存在哪些关系以及如何在节点之间任意移动. DOM是文档对象模型的简称 DOM模型中两个节点可能存在的关系有两种:父子关系,兄弟关系. 添加节点:appendChi ...

  3. VM虚拟机拍摄快照时出错或者克隆失败解决办法

    在换了固态硬盘后,下载好VM,装虚拟机,结果克隆虚拟机和拍摄快照时出问题了. 拍摄快照时出错或者隆失败出现参数错误如图: 所提供的参数中有一个无效参数 解决办法 出现这个问题一般是在机械硬盘的电脑上面 ...

  4. jmeter如何进行MQTT性能测试(测试前期准备一,性能测试需求)

    接到一个有关MQTT的性能测试任务,把查找资料到解决问题的过程都记录.分享下 首先先科普下性能测试中相关术语的解释及 说到性能测试.负载测试.压力测试.并发测试,很多人都是混合使用,或者一会叫压力测试 ...

  5. intptr_t 指针(转)

    reference:http://muchong.com/bbs/ 对于64为系统: typedef signed char int8_t; typedef short int int16_t; ty ...

  6. ffmpeg使用示例

    /* 视频格式转换 ffmpeg -i "F:\Test\1.mp4" -y -vcodec copy -acodec copy "F:\Test\11.avi" ...

  7. Docker Toolbox

    Toolbox包含以下Docker工具: 用于运行docker-machine命令的Docker Machine 用于运行docker命令的Docker Engine Docker Compose用于 ...

  8. selenium的三种等待方式

    selenium有三种等待方式 1.time.sleep() 设置等待最简单的方法就是强制等待,但一般不建议使用,可以在调试的时候进行使用 2.隐性等待 driver.implictily_wait( ...

  9. python网络编程(UDP+广播)

    UDP广播案例,一端发送,多端接受: 发送端: # UDP广播案例 from socket import * from time import sleep # 设定目标地址 dest=('176.21 ...

  10. java版数据结构与算法第二章数组

    数组由一组具有相同类型的数据元素组成,并存储在一组连续存储单元中.一维数组是常量. 二维数组:若一维数组中的数据元素又是一堆数据结构,我们称之为二维数组.二维数组可以看成是n个列向量组成的线性表. 数 ...