zoukankan      html  css  js  c++  java
  • python学习笔记22:基础之运算符

    1. 算术运算符

    算术运算符通常由左向右结合,即2+3+4的计算顺序为(2+3)+4;

    运算符 作用 说明
    + 字符串相加即“合并字符串”,‘a’+‘b’得到‘ab’
    - 减、负号
    * 乘、str重复 ‘ab’*3得到‘ababab’
    / 4/3和4/3.0结果相同,都是1.3333…
    % 取模(余数) 25.5%2.25得到0.75; -25.5%2.25得到1.5
    / 整除 返回商的整数部分;4//3得1,4//3.0得1.0
    * 乘方

    2. 比较运算符

    运算符 作用 说明
    == 等于 可用于数、str、list等
    != 不等于
    <> 不等于,类似于!=
    >、>= 大于、大于等于
    <、<= 小于、小于等于

    3. 赋值运算符

    赋值运算由右向左结合,即a=b=c的处理方式为a=(b=c)

    >>> a,b,c=1,2,3
    >>> a=b=c #赋值过程:b=c(3),然后a=b,最终a和b都是得到的c的值
    >>> print(a,b,c) # a的值不是2,而是3
    3 3 3
    
    运算符 作用 说明
    = 简单赋值
    += 加等 c+=a 等价于c = c + a
    -= 减等
    *= 乘等
    /= 除等
    %= 模等
    **= 幂等
    //= 整除等

    4. 位运算符

    运算符 作用 说明
    & 按位与 12&13返回12,即1100&1101=1100
    | 按位或 12|13返回13,即1100
    ^ 按位异或 12^13返回1,即1100
    ~ 按位取反 ~x 类似于–x-1,即~60返回-61,见本表后面详细例子;
    << 左移 高位丢弃,低位补0。 6 << 4返回96,即110<<4得1100000,亦即6*(2**4)
    >> 右移 低位丢弃,高位补0。 6>>2返回1,即110>>2得001
    >>> bin(60) # 60的二进制数据为0011_1100  
    '0b00111100'  
    >>>  
    >>> ~60  
    -61  
    #  
    # ~60即~0011_1100得1100_0011,  
    # python把按位取反的值当补码解释(负数的补码为取反加1),所以返回-61.  
    #  
    # 注:-61的各码如下:  
    # 原码:1011_1101  
    # 反码:1100_0010(注,取反码时,符号位不取反)  
    # 补码:1100_0011,即60按位取反得的值,所以~60返回-61  
    

    5. 逻辑(布尔)运算符

    运算符 作用 说明
    and 布尔与 x and y,会短路计算:x为False时,返回x,注意不是x的布尔值;x为True时,返回y,注意不是y的布尔值;
    or 布尔或 x or y,会短路计算:x为False时,返回y,注意不是y的布尔值;x为True时,返回x,注意不是x的布尔值;
    not 布尔非 x=true; not x; 返回False;
    >>> [] and {1:‘a’} # 空数组为假,返回空数组,注意返回的不是x的布尔值False  
    []  
    >>> [] or {1:‘a’}# 空数组为假,返回y的值,注意不是y的布尔值;  
    {1:‘a’}  
    >>> not {1:‘a’} # not会返回布尔值  
    False  
    >>> not [] # not会返回布尔值  
    True  
    

    6. 成员运算符

    运算符 作用 说明
    in 包含成员 在指定的序列中找到值,返回True
    not in 不包含成员
  • 相关阅读:
    poj1220(短除法实现任意进制转换)
    poj1061(扩展欧基里德定理)
    快速乘+快速幂(用于模数超过int范围)
    poj3761(反序表)
    Educational Codeforces Round 64 -C(二分)
    牛客小白月赛13-H(单调栈+树状数组)
    poj3321(dfs序+树状数组)
    Codeforces Round #598 (Div. 3)E(dp路径转移)
    记忆化dp博弈
    2-sat
  • 原文地址:https://www.cnblogs.com/gaiqingfeng/p/13254631.html
Copyright © 2011-2022 走看看