zoukankan      html  css  js  c++  java
  • python学习笔记-day02 运算符

    运算符

    算术运算符:+ -  /  % // 等

    逻辑运算符: not and or  优先级 not >and >or

    运算时: and 前为False 后面的不再计算,前为True,输出后面的;

                    or 前面为True,后面的也不再计算,否则输出后面的:

    print(1 or 2)  #1
    print(0 or 3)  #3
    print(2 and 0) #0
    print(0 and 2) #0
    print(2 and 3) #3

    类比,int 和 str 数据类型可以相互转换,int 和 bool 类型也可以相互转换:

    # int --> bool  非零即为True ,只有0 才是False
    print(bool(0))  #False
    print(bool(1))  #True
    print(bool(-1)) #True
    
    #bool -->int True 为1 ,False 为0
    print(int(True))   #1
    print(int(False))  #0

    还有一点需要特别注意:

    逻辑运算符(and or) 前后都是数字时,结果是数字;规则按照上面说的输出:

    x and y: x为True ,输出y;否则输出x;

    x or y: x 为True ,输出x ;   否则输出y;

    逻辑运算符(and or )前后都是比较运算符时,输出的才是True  False

    print(1 or 2)      #1
    print(1 <2 or 2>3) #True
    print(1 >2 or 2<3) #True

    再来看个复杂的:

    print(2 or 100 or 3 or 4)  #2
    print(0 or 4 and 3 or 2)   #3  先算and得到3 ==> 0 or 3 or 2 ==>3 

    最后看一个逻辑运算符前后,数字和比较运算符结合的:

    print(2 or 1<3) # 2

    print(2 and 1<3) #True

    print(2 and 1>3) #False

    print(1>2 and 3 or 4 and 3<2) #False

    其实规律就是,当 or 和 and的运算规则:

    第一行,or 前面的是2就不用管后面的了,也就是后面的结果都不看!

    第二行,and 前是数字2 (也可以看做True 因为后面的是比较运算符,结果肯定为True or False),后面1 <3 为True ,所以最终结果为True

    第三行,and 前是2(此处看为True)后面比较运算符为False,所以最终结果为False;

    第四行, 有两个and  一个or ,所以先算and ,第一个and 是False, 后面的and 是False  所以最终结果是False;

    下面这个就很简单:(面试题? 23333)

    print(2 or 1<3 and 2)  #2

    下面这个我竟然出错了!:

    print(1<3 and 3 or 2)  #3

    其实还是先算and 嘛,and 前面为True ,所以看y 为2 ,所以前面1<3 and 3 结果为3  就不用看后面的2了~

    talk is cheap,show me the code
  • 相关阅读:
    (圆形imageview 类似qq头像)---》(ps:引用第三库APAvatarImageView>
    uiscrollerview循环滚动(参考第三方库:HMBannerView)https://github.com/iunion/autoScrollBanner
    iOS -动态可变参数
    ios-UIPickerView基本使用
    iOS 实现进度条(progress)
    @property (nonatomic, getter = isExpanded) BOOL expanded;
    linker command failed with exit code 1 (use -v to see invocation)
    APICloud界面间跳转
    iOS CGRectGetMaxY/CGRectGetMaxX
    iOS UIView常用的一些方法setNeedsDisplay和setNeedsLayout 区别
  • 原文地址:https://www.cnblogs.com/xuanxuanlove/p/9458639.html
Copyright © 2011-2022 走看看