zoukankan      html  css  js  c++  java
  • python中的逻辑操作符

    python中主要有三个逻辑操作符,分别是:and、or、not。

    and:且,所有人为真才为真。

    or:或,一个为正就是真。

    not:非,取反。

    >>> print(3>2 and 3 >4)
    False      #所有人为真方为真
    >>> print(3>2 and 3 >1)
    True        
    >>> print(3>2 or 3 > 4)
    True         #一人为真就可真
    >>> print(3>6 or 3 > 4)
    False
    >>> print(not False)
    True      #取反
    >>> print(not True)
    False

    逻辑操作符的优先级:()> not > and > or

    同等优先级下,从左到右依次计算。

    >>> print(2>1 and 3 < 4 or 4 > 5 and 2 <1)
    优先级 真 or 假
                    True
    >>> print(1>2 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6)
    优先级 假 or 假 or 假
    假 or 假
    False
    >>> print(1>2 and 3<4 or 4>5 and 2>1 and 9>8 or 7>6)
    True
    >>> print(not 2>1 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6)
    假 and
    假 or 假 or 假

    False

     小技巧:多个同样的操作符放在一块,一起判断。

    布尔值只有两个False和True,False代表0,True代表1

    除0和False以外所有的字符串和数字都为真

    >>> bool(False)
    False
    >>> bool(1)
    True
    >>> bool(0)
    False
    >>> bool(10)
    True
    >>> bool('123wqeq')
    True

    以上所说得知识会在下面得到运用。

    >>> print(3 or 4)
    3
    >>> print(2 or 4)
    2
    >>> print(0 or 4)
    4
    >>> print(-1 or 4)
    -1
    >>> print(3 and 4)
    4
    >>> print(2 and 4)
    4
    >>> print(0 and 4)
    0
    >>> print(-1 and 4)
    4

    总结:除了0代表假之外其余的全部都为真。关于3 or 4 为啥返回3,3 and 4返回4我也说不明白,只能做如下总结。

    X or Y :真与假在一起返回真

    >>> print(4 or 0)
    4
    >>> print(0 or 4)
    4

                   XY均为真,返回前面的

    X and Y : 真与假在一起返回假

    >>> print(4 and 0)
    0
    >>> print(0 and 4)
    0

                 :真和真在一起,返回后面的

    >>> print(3 and 4)
    4
    >>> print(2 and 4)
    4

    看一个例子:

    >>> print(0 and 3 or 4 or 1 or 2)
    0为假,返回0
    0 or 4有真返真,故返回4
    4 or 1 or 2 全为真返回前面的
    4
    >>> print(3 or 3>2)
    3                    #返回前面的,3>2可以看作内层计算,所以结果为True
    >>> print(3>2 or 3)
    True
  • 相关阅读:
    lamp配置多个虚拟站点
    linux下lamp环境修改网站根目录
    CentOS 6.7快速搭建lamp环境
    GridView 使用方法总结 (一)
    asp.net学习之Repeater控件
    通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
    ExtJs特点、优缺点及注意事项
    Js获取当前日期时间及其它操作
    C#实现MD5加密
    SqlDataReader、SqlDataAdapter與SqlCommand的 区别
  • 原文地址:https://www.cnblogs.com/yangmingxianshen/p/7699215.html
Copyright © 2011-2022 走看看