• python学习之运算表达式优先级


    python中,有变量、值和运算符参与的语句叫做表达式。

    比如:

    #字符串表达式
    "hello"
    #运算表达式
    2+3
    #赋值表达式
    test  = "hello"
    #变量表达式
    test

    运算符优先级

    运算符描述
    lambda Lambda表达式
    or 布尔“或”
    and 布尔“与”
    not x 布尔“非”
    in,not in 成员测试
    is,is not 同一性测试
    <,<=,>,>=,!=,== 比较
    | 按位或
    ^ 按位异或
    & 按位与
    <<,>> 移位
    +,- 加法与减法
    *,/,% 乘法、除法与取余
    +x,-x 正负号
    ~x 按位翻转
    ** 指数
    x.attribute 属性参考
    x[index] 下标
    x[index:index] 寻址段
    f(arguments...) 函数调用
    (experession,...) 绑定或元组显示
    [expression,...] 列表显示
    {key:datum,...} 字典显示
    'expression,...' 字符串转换

     关于移位操作

    右移:右移一位表示除以2

    >>> 8>>2
    2
    >>> 8>>3
    1
    >>> 8>>4
    0

    这里,移位数是>>右边的数,被移位数是>>左边的数。

    左移:左移一位表示乘以2

    >>> 3<<4
    48

    这里,移位数是<<右边的数,被移位数是<<左边的数。

    总结:移位数总是位于移位符号(<<或者>>)的右边被移位数总是位于移位符号的左边

    优先级

    运算符优先级按照上表由低到高

    其他优先级如下:

    #以下优先级排名从高到低,在同一运算中,先执行优先级高的再执行低的,以此类推。
    
    #Top 1:函数调用、寻址、下标
    
    #Top 2:幂运算**
    priorityNumber=2*2**3
    print priorityNumber #输出结果:16
    
    #Top 3:翻转运算~
    
    #Top 4:正负号
    print 1+2*-3 #输出结果:-5
    
    #Top 5:*、/、%
    print 2+1*2/5 #输出结果:2
    
    #Top 6:+、-
    print 3<<2+1 #输出结果:24
    
    #Top 7:<<、>>
    
    #Top 8:按位&、^、|
    
    #Top 9:比较运算符
    priority=2*3+2<=2+1*7
    print priority #输出结果:True
    
    #Top 10:逻辑的not and or
    
    #Top 11:lambda表达式

    一般操作,由左到右;赋值操作,由右到左

    >>> a = 1+3
    >>> a
    4

    `a = b or c`与`a = (b or c)`等效。

    括号优先操作

    >>> b = (1+2)*3
    >>> b
    9
  • 相关阅读:
    2.1 Python介绍
    2.2 Python基础知识
    内网渗透的一些工具和平台汇总
    ABC技术落地_成功带动lot物联网行业、金融科技行业、智能人才教育。
    舆情、网络舆情、舆情分析
    XSSer:自动化XSS漏洞检测及利用工具
    10款开源安全工具
    系统管理员资源大全,学习学习学习(转载)
    如何搭建邮件服务器
    域名常见名词解释
  • 原文地址:https://www.cnblogs.com/leomei91/p/7614332.html
Copyright © 2020-2023  润新知