not and or (逻辑表达式)

首先要做一些准备知识:
1,优先级:逻辑型 < 测试型 < 关系型 < 算数型
2,逻辑型优先级:or < and < not
3,在python中,0,‘’,[],{},(),set(),None 为假(False),其余任何东西都为真(True).

接下来就介绍他们的运算:
x and y : 如果x为真, 则y决定了结果, 返回y.
             如果x为假, 则x决定了结果, 返回x.

x or y : 如果x为假, 则y决定了结果, 返回y.
           如果x为真, 则x决定了结果, 返回x.

not : 返回表达式结果相反的值.

接下来举一些例子来解释:
1, 3 and 0 -> 0 (因为x为真y决定了结果,所以结果为3)
2, 3 or 0 -> 3 (因为x为真x决定了结果,所以结果为3)
3, [] and 3 -> [] (因为[]为假x决定了结果,所以结果为[])
4, None or 3 -> 3 (因为None为假y决定结果,所以结果为3)
5, 1 or 2 and 3 ->1 (因为and的优先级比or大,所以先算2 and 3 结果我3,再算1 or 3结果为1)
6, 1<2 and 3>4 or not 1==1 or {} ->{}
(根据优先级先算not 1==1 得到1<2 and 3>4 or False or {}
再算and得到 True and False or False or {}---->False or False or {}
再算or 得到False or {}---->{})

口诀:
and 前真得后,前假得前
or 前真得前,前假得后

随机推荐

  1. 使用uncss去除无用的CSS

    1.安装nodejs,gulp,gulp_uncss 1.1.说明:gulp-uncss 是gulp的一个插件.gulp是基于nodejs,理所当然需要安装nodejs: 1.2.安装:打开nodej ...

  2. 条款一:尽量使用const、inline而不是#define

    #define ASPECT_RATIO 1.653 编译器会永远也看不到ASPECT_RATIO这个符号名,因为在源码进入编译器之前,它会被预处理程序去掉,于是ASPECT_RATIO不会加入到符号 ...

  3. Codeforces Round #221 (Div. 2) D

    有点郁闷的题目,给了2000ms,可是n,m的范围已经是5000了.5000 * 5000一般在别的OJ已经是超了2000ms,一開始不敢敲.看了下别人有n*m的潜逃循环,原来CF的机子如此的强大,一 ...

  4. vue 配置跨域访问

    主要在config->index.js中配置 proxyTable: { ‘/gameapi’: { changeOrigin: true, // target: ‘http://rap.id. ...

  5. Servlet学习总结,为理解SpringMVC底层做准备

    Servlet 一句话概括 :处理web浏览器,其他HTTP客户端与服务器上数据库或其他应用交互的中间层 Servlet 生命周期 : 1.类加载, 2.实例化并调用init()方法初始化该 Serv ...

  6. Cocos从入门到精通--《创建第一个项目:HelloWorld》

    上节课我们解说了cocos2-x v3.7版本号的下载安装,也展示了使用CocosStudio编译不同平台运行程序的方法,大家是不是对新版本号的Cocos引擎充满期待?今天我们就创建一个project ...

  7. Cocos2d-x 3.2 Lua演示样例CurrentLanguageTest(当前语言环境)

    Cocos2d-x 3.2 Lua演示样例CurrentLanguageTest(当前语言环境) 转载请注明:IT_xiao小巫 本篇博客介绍Cocos2d-x 3.2给我们提供的一个样例.获取当前程 ...

  8. Codeforces Round #310 (Div. 1) C. Case of Chocolate (线段树)

    题目地址:传送门 这题尽管是DIV1的C. . 可是挺简单的. .仅仅要用线段树分别维护一下横着和竖着的值就能够了,先离散化再维护. 每次查找最大的最小值<=tmp的点,能够直接在线段树里搜,也 ...

  9. “千千静听”滚动标题栏,非常简单!(时间器控制窗口标题栏文字,然后赋值给Application.Title)

    记得曾写过类似功能,但由于对Delphi数据类型不清楚,要花不少代码去处理中文被切半而出现乱码的尴尬.后来知道只需把字符串定义成 WideString 即可解决半个中文的问题了. 实现过程:不停地剪切 ...

  10. 【Java报错】Message: 3 字节的 UTF-8 序列的字节 2 无效

    报错logs 2015-03-10 10:15:32,360 ERROR [qtp32195030-27] [InvokeAfterValve.java:55] - javax.xml.stream. ...