一、逻辑运算

逻辑运算符: and   or   not,结果为布尔值(True和False)

1、基本逻辑运算符介绍

  • not :将后面的逻辑运算结果取反
>>> not 1 < 2
False
>>> not 1 == 2
True
  • and  :连接左右两个条件,当两个条件都为真时,返回结果为真(True),否则为假(False)
>>> 1 == 1 and 3 < 5
True
>>> 1 != 2 and 2 == 3
False
  • or 连接左右两个条件,当有一个条件为真时,返回结果为真(True),否者为假(False)
>>> 1 == 2 or 1 < 3
True
>>> 1 > 4 or 3*4 < 20
True

2、运算优先级:  () > not > and > or

当多个逻辑运算符同时出现时,按照优先级进行判断

# 优先级
1 == 3 and 23 < 43 or not 1 < 3 and 1*2 == 2 or 3-2 < 5
# 等价于
(1 == 3 and 23 < 43) or ((not 1 < 3) and 1*2 == 2) or 3-2 < 5

3、显式与隐式布尔值逻辑运算

隐式布尔值:

  • False :0  ,  None  ,  空
  • True  :除以上外所有整数、浮点数、字符串等
>>> 1 < 3 and 1
1
>>> 1 < 3 and 0 or "aa"
'aa'

4、短路运算

一旦整个逻辑运算结果可以确定,计算机就会返回确定结果处的逻辑运算值,如果是隐式布尔值就返回隐式布尔值

and 一假为假,全真为真

or  一真为真,全假为假

>>> 1 and 0
0
>>> 0 or 2
2
>>> None or 1 and "aa" and []
[]

二、比大小

同等类型可以比大小

整数类型可以任意相比

字符串比相应位置字符的编码

其他类型需要相同位置相同类型相比

>>> 1 < 3
True
>>> 1 > 1.4
False
>>> "asdksbd" > "djasks"
False
>>> [1,2,3,4,5] < [3,2,3,1,4]
True

python那些需要知道的事儿——逻辑运算与比大小的更多相关文章

  1. python那些需要知道的事儿——内存泄漏

    啥,内存也会泄露?漏了咋补?我的内存会不会越漏越小?咋一听到内存泄漏,本喵的脑子蹦出无数想法,所以到底啥是内存泄漏! 一.垃圾回收机制(GC)机制 在理解内存泄漏之前,需要补充一个知识,即GC机制(也 ...

  2. python创建有序字典及字典按照值的大小进行排序

    有序字典 在Python中,字典类型里面的元素默认是无序的,但是我们也可以通过collections模块创建有序字典 # -*- coding:utf-8 -*- # python有序字典需导入模块c ...

  3. 用PYTHON实现将电脑里的所有文件按大小排序,便于清理

    嘿嘿,慢慢找到写代码的感觉了. 这个小程序涉及的东东还是很多的,数据结构的设计,错误的处理,快速字典排序,文件数值调整.... import os,os.path import glob SUFFIX ...

  4. python之使用heapq()函数计算列表中数值大小

    # heapq函数:计算列表最大几个值和最小几个值 # 语法:heapq.nlargest(n, list,[key]) # n表示最大或最小的几个: list为分析的对象: key为排序关键字,非必 ...

  5. python 学习笔记(三)根据字典中值的大小对字典中的项排序

    字典的元素是成键值对出现的,直接对字典使用sorted() 排序,它是根据字典的键的ASCII编码顺序进行排序,要想让字典根据值的大小来排序,可以有两种方法来实现: 一.利用zip函数将字典数据转化为 ...

  6. Python PIL 怎么知道写入图片格式的kb大小

    把图片数据写入一个IO,读这个IO的长度大小: #-*-coding:utf-8-*- from PIL import Image import io img = Image.open("1 ...

  7. Python运算符及逻辑运算

    基本运算符 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运 ...

  8. Python基本语法

    目录缩进流程控制语句表达式函数对象的方法类型数学运算 缩进Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯.并且Python语言利用缩进表示语句块的开始和退 ...

  9. Python成长笔记 - 基础篇 (二)python基本语法

    Python的设计目标之一是让代码具备高度的可阅读性.它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观.它不像其他的静态语言如C.Pascal那样需要重复书写声明语句,也不像 ...

随机推荐

  1. macOS & pbcopy

    macOS & pbcopy copy from command line pbcopy $ whoami | pbcopy # xgqfrms-mbp $ echo "hello, ...

  2. Android vs iOS vs Web

    Android vs iOS vs Web UI view Android ViewGroup ImageView TextView iOS UIView ImageView TextView Web ...

  3. js useful skills blogs

    js useful skills blogs blogs https://davidwalsh.name/tutorials/javascript https://www.ruanyifeng.com ...

  4. vuex bug & vue computed setter

    vuex bug & vue computed setter https://vuejs.org/v2/guide/computed.html#Computed-Setter [Vue war ...

  5. VAST算力增值效应,助力NGK全生态产业链!

    虽然比特币和区块链在2009年就诞生了,但它们对于一些人来说好像还是很遥远,归根结底还是由于数字货币始终未能在全球真正实现流通和支付功能.区块链1.0,以比特币为代表,实现了数字支付:区块链2.0,E ...

  6. NGK生态之星空计划启动在即,稀有VAST高兑换比带来高价值!

    NGK生态之星空计划启动在即,为了感谢NGK布道者的支持,NGK官方将全力辅助算力市场,开展全新的星空计划,并发行星空币SPC,空投给算力持有者进行额外奖励. 至此,SPC已经顺利完成2轮空投,也初步 ...

  7. JavaScript中判断对象是否属于Array类型的4种方法及其背后的原理与局限性

    前言 毫无疑问,Array.isArray是现如今JavaScript中判断对象是否属于Array类型的首选,但是我认为了解本文其余的方法及其背后的原理与局限性也是很有必要的,因为在JavaScrip ...

  8. python 相对路径和绝对路径的区别

    一,Python中获得当前目录和上级目录 获取当前文件的路径: from os import path d = path.dirname(__file__) #返回当前文件所在的目录 # __file ...

  9. 【commons-pool2源码】写前思考

    写作的初衷 工作4年多, 一直没有系统的阅读过优秀的开源代码, 所以从今年开始做一些尝试, 阅读源码并且试着将自己的理解以文章的形式输出, 从而达到以下目的: 通过阅读源码提升自身的技术水准, 通过写 ...

  10. Canvas 如何画一个四分之一圆

    转: Canvas 如何画一个四分之一圆 HTML: Document JS: var c = document.getElementById('ctx') var ctx = c.getContex ...