Python运算符

运算符

  1. 算术运算符

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    +:加
    -:减
    *:乘
    /:除(结果可以是float)
    %:取余
    **:幂运算 eg: print(2**3) #打印2的3次幂
    //:整除(向下取整)
    注:
    # 可用幂运算进行开方运算
    eg:print(81**(1/2)) #打印的是81开平方的结果,即为9
    # 在Python2中,/得到的是一个整数;在Python3中得到是一个浮点数
    # 在开发中使用括号来表示优先级,比较清晰
  2. 算术运算符在字符串中的使用

    1
    2
    3
    4
    5
    # 在字符串中有限度的支持加法和乘法运算符
    print("hello"+"world") # 结果为 helloworld(用于拼接字符串)
    print("hello"*2) # 结果为 hellohello
    注:字符串和数字是不能相加的
    print("a"+1) # 会报错
  3. 赋值运算符

    1
    2
    3
    4
    a=1 # 单个变量赋值
    m,n=1,2 # 多个变量赋值(拆包),且当等号左右两侧个数不相等时会报错
    o*,p,q=1,2,3,4,5 #加*表示可变长度,把4,5分别赋给p,q,其余全部赋值给o
    m='hello','world' # 元组赋值
  4. 比较运算符

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 比较运算符
    >:大于
    <:小于
    >=:大于等于
    <=:小于等于
    !=:不等于(在python2<>也表示不等于,python3不支持)

    # 比较运算符在字符串中的使用
    print('a'<'b') # 结果为true 按照ASCII码进行比较
    print('abc'<'b') # 结果为true,直接字符a,b相比得出结果
    print('abc'=='abc') # 结果为true
    在数字和字符串之间做==为true,做!=比较为false
  5. 逻辑运算符

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    and:逻辑与
    or:逻辑或
    not:逻辑非

    #规则
    逻辑与规则:只有一个运算数是False,结果就为False
    逻辑或规则:只有一个运算数是True,结果就为True
    优先级:not > and > or

    #逻辑运算符的取值问题(逻辑运算结果不一定是bool值)
    print(3 and 'Hello' and 0 and 2)
    # 结果为0(按照逻辑与的运算规则,有False则False)
    print(3 or 0)
    # 结果为3,逻辑或运算当有一个是True时,后面的将不会被执行

    #逻辑运算符的短路问题
    4 > 3 and print('hello world')
    # 打印hello world
    4 > 3 or print('hello world')
    # print将会短路,因为逻辑或前面已经是True,后面将不会被执行
  6. 位运算

    1
    2
    3
    4
    5
    6
    7
    8
    &:按位与(都为11,否则取0)
    |:按位或(有11,否则取0)
    ^:按位异或(不同取1,相同取0)
    ~:按位取反(01,10)
    <<:左移(向左移,后面补0)
    >>:右移(向右移,数据会丢失)
    # 左移:x左移a位结果为x乘以2的a次方
    # 右移:x右移a位结果为x除以2的a次方(取整)