zoukankan      html  css  js  c++  java
  • python开发_python中的Boolean运算和真假值

    python中的真假值:

    Truth Value Testing

    Any object can be tested for truth value, for use in an if or while condition or as operand of the Boolean operations below. The following values are considered false:
    
    1.None
    
    2.False
    
    3.zero of any numeric type, for example, 0, 0.0, 0j.
    
    4.any empty sequence, for example, '', (), [].
    
    5.any empty mapping, for example, {}.
    
    6.instances of user-defined classes, if the class defines a __bool__() or __len__() method, when that method returns the integer zero or bool value False. [1]
    
    All other values are considered true — so objects of many types are always true.
    
    Operations and built-in functions that have a Boolean result always return 0 or False for false and 1 or True for true, unless otherwise stated. (Important exception: the Boolean operations or and and always return one of their operands.)

    总结:

    #在python中,任何对象都可以判断其真假值:True,False
    #在if或while条件判断中,下面的情况值为False:
    #
    # 1.None
    # 2.Flase
    # 3.数值为0的情况,如:0,0.0,0j
    # 4.所有空序列,如:'',(),[]
    # 5.所有空mapping,如:{}
    # 6.instances of user-defined classes, if the class defines a __bool__() or __len__() method,
    #    when that method returns the integer zero or bool value False.
    #
    # All other values are considered true — so objects of many types are always true.
    #
    #
    # 在运算操作和内建函数返回Boolean结果0或者Flase表示false
    #1或True表示true
    #

    python中的Boolean运算如下:

    Boolean Operations

     1 print('x or y -> if x is false,then y, else x ')
     2 x, y = 2, 0
     3 print('{} or {} = {}'.format(x, y, x or y))
     4 x1, y1 = 0, 10
     5 print('{} or {} = {}'.format(x1, y1, x1 or y1))
     6 x2, y2 = 0, 0
     7 print('{} or {} = {}'.format(x2, y2, x2 or y2))
     8 
     9 print('#' * 50)
    10 print('x and y -> if x is false,then x, else y ')
    11 print('{} and {} = {}'.format(x, y, x and y))
    12 x1, y1 = 0, 10
    13 print('{} and {} = {}'.format(x1, y1, x1 and y1))
    14 x2, y2 = 0, 0
    15 print('{} and {} = {}'.format(x2, y2, x2 and y2))
    16 
    17 print('#' * 50)
    18 print('not x -> if x is false,then True,else False ')
    19 x = 2
    20 print('not {} = {}'.format(x, not x))
    21 x = 0
    22 print('not {} = {}'.format(x, not x))

    运行效果:

    Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.
    >>> ================================ RESTART ================================
    >>> 
    x or y -> if x is false,then y, else x 
    2 or 0 = 2
    0 or 10 = 10
    0 or 0 = 0
    ##################################################
    x and y -> if x is false,then x, else y 
    2 and 0 = 0
    0 and 10 = 0
    0 and 0 = 0
    ##################################################
    not x -> if x is false,then True,else False 
    not 2 = False
    not 0 = True
    >>> 
  • 相关阅读:
    【codeforces 723F】stSpanning Tree
    struts2.0中struts.xml配置文件详解
    存储过程中调用JAVA程序段
    本不该逃避
    利用js实现对页面的自动刷新
    [转]从硬盘安装 RedHat Enterprise Linux Server 5 iso
    正则表达式使用
    利用XmlBean轻松读写xml(转)
    Struts2+Spring2+Hibernate3 web应用示例(七)
    在DWR中实现直接获取一个JAVA类的返回值的两种方法
  • 原文地址:https://www.cnblogs.com/hongten/p/hongten_python_boolean.html
Copyright © 2011-2022 走看看