python那些需要知道的事儿——逻辑运算与比大小
一、逻辑运算
逻辑运算符: 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那些需要知道的事儿——逻辑运算与比大小的更多相关文章
- python那些需要知道的事儿——内存泄漏
啥,内存也会泄露?漏了咋补?我的内存会不会越漏越小?咋一听到内存泄漏,本喵的脑子蹦出无数想法,所以到底啥是内存泄漏! 一.垃圾回收机制(GC)机制 在理解内存泄漏之前,需要补充一个知识,即GC机制(也 ...
- python创建有序字典及字典按照值的大小进行排序
有序字典 在Python中,字典类型里面的元素默认是无序的,但是我们也可以通过collections模块创建有序字典 # -*- coding:utf-8 -*- # python有序字典需导入模块c ...
- 用PYTHON实现将电脑里的所有文件按大小排序,便于清理
嘿嘿,慢慢找到写代码的感觉了. 这个小程序涉及的东东还是很多的,数据结构的设计,错误的处理,快速字典排序,文件数值调整.... import os,os.path import glob SUFFIX ...
- python之使用heapq()函数计算列表中数值大小
# heapq函数:计算列表最大几个值和最小几个值 # 语法:heapq.nlargest(n, list,[key]) # n表示最大或最小的几个: list为分析的对象: key为排序关键字,非必 ...
- python 学习笔记(三)根据字典中值的大小对字典中的项排序
字典的元素是成键值对出现的,直接对字典使用sorted() 排序,它是根据字典的键的ASCII编码顺序进行排序,要想让字典根据值的大小来排序,可以有两种方法来实现: 一.利用zip函数将字典数据转化为 ...
- Python PIL 怎么知道写入图片格式的kb大小
把图片数据写入一个IO,读这个IO的长度大小: #-*-coding:utf-8-*- from PIL import Image import io img = Image.open("1 ...
- Python运算符及逻辑运算
基本运算符 运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运 ...
- Python基本语法
目录缩进流程控制语句表达式函数对象的方法类型数学运算 缩进Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯.并且Python语言利用缩进表示语句块的开始和退 ...
- Python成长笔记 - 基础篇 (二)python基本语法
Python的设计目标之一是让代码具备高度的可阅读性.它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观.它不像其他的静态语言如C.Pascal那样需要重复书写声明语句,也不像 ...
随机推荐
- 如何用 js 实现一个 sleep 函数
如何用 js 实现一个 sleep 函数 原理 实现方式 总结 refs js sleep xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
- 视屏剪辑软件 & free video editor
视屏剪辑软件 & free video editor purpose add animation keyframe to tutorials video vlog demos tutorial ...
- (十) 数据库查询处理之排序(sorting)
1. 为什么我们需要对数据排序 可以支持对于重复元素的清除(支持DISTINCT) 可以支持GROUP BY 操作 对于关系运算中的一些运算能够得到高效的实现 2. 引入外部排序算法 对于不能全部放在 ...
- 基于tcp的应用层消息边界如何定义
聊聊基于tcp的应用层消息边界如何定义 背景 2018年笔者有幸接触一个项目要用到长连接实现云端到设备端消息推送,所以借机了解过相关的内容,最终是通过rabbitmq+mqtt实现了相关功能,同时在心 ...
- 数理统计16:NP理论、似然比检验、假设检验与区间估计
本文介绍Neyman-Pearson理论,这也是我们会见到的最常见假设检验问题类,这里第一Part的概念介绍略显枯燥,大家尽量理解即可.由于本系列为我独自完成的,缺少审阅,如果有任何错误,欢迎在评论区 ...
- 微信小程序:数据绑定
data中的数据不仅仅可以当成文本来显示,还可以当成属性来显示. 注意:属性值要用单引号或双引号引起来. 在微信开发者工具的控制台中点击Wxml会看到 使用Boolean类型充当属性的时候,字符串和花 ...
- SpringBoot自定义注解
1.注解的概念 注解是一种能被添加到java代码中的元数据,类.方法.变量.参数和包都可以用注解来修饰.注解对于它所修饰的代码并没有直接的影响. 2.注解的使用范围 1)为编译器提供信息:注解能被编译 ...
- Java基础语法:数组
一.简介 描述: 数组是相同类型数据的有序集合. 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 基本特点: 数组的长度是确定的.数组一旦被创建,它的大小就是不可以改变的. ...
- C#语言特性及发展史
本文按照C#语言的发展历史,介绍C#每个版本的新增特性,主要参考微软官方文档.了解这些语言特性可以帮助我们更高效的编写C#代码. C# 1.0 与Visual Studio .NET 2002一起发布 ...
- 后端程序员之路 23、一个c++的api framework
在"21.一个cgi的c++封装"中,我们封装了cgi,在这之上,我们可以再来封装一个webapi的framework.当然,前文的Casablanca是个不错的选择,但是它比较庞 ...