• [python学习笔记] 运算符


    数学运算符

    与大多语言相同的运算符就不介绍了。不同的地方会用 (!不同)标出

    • 与java相同的运算符

      • , - , * , % , /
    • 不同之处

      • 除法 (!不同)

        • /  与java不同,整数相除,结果为浮点数。
        • // 整除。结果为整数。浮点数相除,也只保留整数位
        • 范例
        print(5/2)  # 2.5
        print(5//2) # 2
        print(5//2.3) # 2.0
        
      • 自增/自减(!不同)

        没有自增与自减运算。

      • ** 乘方。 x**y 结果为x的y次方

        print(2**10) # 输出 1024
        

    赋值运算符

    =,+= , -=,/=,//=,*=,**=

    注意在python里表达式里不能用赋值运算符

    i = 3;
    print(i**=3) # 错误
    print((i=i+1) >2) # 错误
    

    位运算符

    同java,也只能运算整数

    << 左移,>> 右移,& 与,| 或 , ^ 异或 , ~ 取反

    == (!不同) 注意:没有无符号右移 ==

    小细节: ~x == -(x+1)

    比较运算符

    与java相同。 >,<,>=,<=,!=

    逻辑运算符(!不同)

    只能用来运算bool值。 python的and与or,都是短路运算

    • 与 and
    • 或 or
    • 非 not
    • 示例
      def a():#定义一个a方法
      	print('a')
      	return 3;
      print(3<2 or a() < 5) # a  True . a有输出 
      print(3>2 or a() < 5) # True   a没有输出,短路
      

    运算符优先级问题

    • 流程控制语句: if else
    • 逻辑运算符: or < and < not
    • 其他: in, not in , is , is not (这里还不清楚,应该是循环里的符号)
    • 比较运算符: 比较运算符优先级一直
    • 位运算: | < ^ < & < (<<,>>)
    • 数学运算符: (+,-) < (*,/,//,%) < (~ 取反) < (** 求幂)

    当然,运算符的优先级可以通过 () 来改变。如:(1+2)*3

  • 相关阅读:
    mysql类似oracle rownum写法
    mysql派生查询必须有别名问题记录
    MySQL逻辑架构简介
    JSON转成List结构数据
    MySQL锁表查询SQL
    Http请求传json数据中文乱码问题
    异步调用导致的不同步问题
    oracle导入Excel表文本数据
    JSP页面的注释细节
    Oracle cursor学习笔记
  • 原文地址:https://www.cnblogs.com/boliu/p/7486871.html
Copyright © 2020-2023  润新知