zoukankan      html  css  js  c++  java
  • 运算符

    一、算术运算符

    #标准运算发
    print(1+2)  #加法运算
    print(2-1)  #减法运算
    print(2*3)  #乘法运算
    print(1/2)  #除法运算
    
    print(11/2)
    print(11//2)#整除运算
    
    #取余运算符
    print(11%2) #取余运算7
    
    #幂运算
    print(2**4)
    
    运算结果:
    
    3
    1
    6
    0.5
    5.5
    5
    1
    16

    例外:

    • %:取余运算时一正一负需要遵守公式——余数=被除数-除数*商
    • 整数:一正一负向下取整

    二、赋值运算

    #赋值运算符:运算顺序从右到左
    
    #链式赋值——由输出结果可以看到,以下三个变量都指向同一个内存块
    a=b=c=20
    
    print(a,id(a))
    print(b,id(b))
    print(c,id(c))
    
    #支持系列解包赋值
    #解包赋值左右俩边的个数需要相等
    
    m,n=20,30
    print(m,type(m))
    print(n,type(n))
    
    #解包赋值带来的好处——可以直接交换两个变量带来的值的变化
    print('交换前')
    a,b=30,40
    print(a,type(a))
    print(b,type(b))
    print('交换后')
    a,b=b,a
    print(a,type(a))
    print(b,type(b))
    
    
    运算结果:
    
    20 1767116860304
    20 1767116860304
    20 1767116860304
    20 <class 'int'>
    30 <class 'int'>
    交换前
    30 <class 'int'>
    40 <class 'int'>
    交换后
    40 <class 'int'>
    30 <class 'int'>

    三、比较运算 

    # = 称为赋值运算符
    # == 称为比较运算符,由于一个变量由标识,类型和值组成。== 比较的是变量的值
    # is 用于比较对象的标识
    
    a=10
    b=10
    print('a与b的值是否相等',a==b)
    print('a与b的标识是否相等',a is b)
    
    list1=[11,22,33,44]
    list2=[11,22,33,44]
    
    print(id(list1))
    print(id(list2))
    print(list1==list2)    #比较的是值
    print(list1 is list2)  #比较的是id
    
    运算结果:
    a与b的值是否相等 True
    a与b的标识是否相等 True
    2847174183872
    2847174181696
    True
    False

    四、布尔运算符

    print('not——对bool类型操作数取反')
    f1=True
    print(f1)
    print(not f1)
    
    print('in------------not in')
    s='ashfvhbjdchj'
    print('w' in s)
    print('a' in s)
    
    print('w' not in s)
    print('a' not in s)
    
    
    运算结果:
    
    not——对bool类型操作数取反
    True
    False
    in------------not in
    False
    True
    True
    False
    

      

    五、位运算符

    #位运算符
    print(4&8)
    #按位与 & 同时为1结果为1
    
    print(4|8)
    #按位或 | 同时为0结果才为0
    
    
    print(4<<1)
    #向左移动一位,相当于乘以2
    print(4>>1)
    #向右移动一位,相当于除以2
    
    运算结果:
    
    0
    12
    8
    2
    

      

  • 相关阅读:
    虚方法表与动态分派机制
    方法重载与invokevirtual字节码指令的关系
    栈桢与操作数栈以及符号引用与直接引用的转换
    通过字节码分析this关键字以及异常表的作用
    JVM synchronized关键字所生成的字节码
    window Chrome 下允许跨域访问服务端接口设置
    JVM Java字节码方法表与属性
    JVM 字节码的结构
    Jar hell问题以及解放方法
    JVM 线程上下文类加载器
  • 原文地址:https://www.cnblogs.com/xiaoqing-ing/p/14971965.html
Copyright © 2011-2022 走看看