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

    基本运算符

    算数运算

    算数运算都是数值进行计算,包括加/减/乘/除/取余/取整/幂

    a = 7
    b = 2
    
    print(a + b)    # + 加法
    print(a - b)    # - 减法
    print(a * b)    # * 乘法
    print(a / b)    # / 除法
    print(a // b)   # // 取整
    print(a % b)    # % 取余
    print(a ** b)   # ** 幂次方
    
    9
    5
    14
    3.5
    3
    1
    49
    

    比较运算

    比较运算包括等于/不等于/大于/小于/大于等于/小于等于
    注意:比较运算得到的值都是bool类型

    a = 7
    b = 2
    
    print(a == b)    # == 表示等于,'='表示赋值,要区别开
    print(a != b)    # != 表示不等于
    print(a < b)     # < 表示小于
    print(a > b)     # > 表示大于
    print(a <= b)     # <= 表示小于等于
    print(a >= b)     # >= 表示大于等于
    
    print(type(a >= b))
    
    False
    True
    False
    True
    False
    True
    <class 'bool'>
    

    赋值运算

    赋值运算的运算法则和算数运算一样,包括包括加/减/乘/除/取余/取整/幂

    a = 5
    a += 3      # 相当于a = a + 3 ,加
    print(a)
    a -= 3      # 相当于a = a - 3,减
    print(a)
    a *= 3      # 相当于a = a * 3,乘
    print(a)
    a /= 3      # 相当于a = a / 3,除
    print(a)
    a **= 3      # 相当于a = a ** 3,幂次方
    print(a)
    a //= 3      # 相当于a = a // 3,取整
    print(a)
    a %= 3      # 相当于a = a % 3,取余
    print(a)
    
    8
    5
    15
    5.0
    125.0
    41.0
    2.0
    

    逻辑运算

    逻辑运算包括:and(与),or(或),not(非)

    1. and(与):表示只有都是True才表示True,只要有一个False就表示False
    print(1 > 2 and 2 < 3)    # False 有一个False则时False
    print(1 > 0 and 2 < 3)    # True 只有两个都是True才表示True
    
    False
    True
    
    1. or(或):与and相反,只有都是False才表示False,只要有一个True就表示True
    print(1 > 2 or 2 < 3)    # True 有一个True就是True
    print(1 < 0 or 2 > 3)    # False 两个都是False才表示False
    
    True
    False
    
    1. not(非):表示取反,True取反为False,False取反为True
    print(not 1 > 2)
    
    True
    

    注意:逻辑运算是从左往右进行判断

    身份运算

    身份运算符是对进行变量值地址进行判断,其表示方式有:is/is not

    x = 365
    y = x
    z = 365
    
    print(x is y)   
    print(y is z)
    print(z is not x)
    
    True
    False
    True
    

    Python运算符优先级

    在编程语言中,运算符计算具有优先级,为了更方便的进行理解,可以将优先级用括号括起来

    链式赋值

    a = 4
    b = 4
    c = 4
    print(f'a={a},b={b},c={c}')    # 一个一个赋值太烦了,所以python提供了一个链式赋值,给两个以上变量赋值同一个值
    
    a=4,b=4,c=4
    
    a = b = c = 4
    
    print(f'a={a},b={b},c={c}')
    
    a=4,b=4,c=4
    

    交叉赋值

    在我们正常了解中,要实现两个变量值的更换,我们需要借助第三个变量才能实现,但现在python提供了一个更快的方法,一条语句就可以实现

    x = 5
    y = 9
    
    z = x
    x = y
    y = z
    print(x,y)    # 代码比较长,不方便
    
    9 5
    
    x = 5
    y = 9
    
    x,y = y,x
    print(x,y) 
    
    9 5
    

    解压缩

    如果要将一个一个列表里的值转换成变量1,变量2,变量3……,正常情况下应该是

    hobby_list = ['read','run','music','code']
    hobby1 = hobby_list[0]
    hobby2 = hobby_list[1]
    hobby3 = hobby_list[2]
    hobby4 = hobby_list[3]
    
    print(hobby1,hobby2,hobby3,hobby4)
    
    read run music code
    

    但Python提供了一个更快捷方便的方法解压缩,赶紧来瞧一瞧吧

    hobby_list= ['read','run','music','code']   # 基础版
    hobby1,hobby2,hobby3,hobby4 = hobby_list
    print(hobby1,hobby3)
    
    read music
    
    hobby_list= ['read','run','music','code']
    hobby1,hobby3 = hobby_list    # 报错,list里面有4个元素,但外面只有2个变量去接收,所以会报错
    print(hobby1,hobby3)
    
    ---------------------------------------------------------------------------
    
    ValueError                                Traceback (most recent call last)
    
    <ipython-input-51-6ccfe654c172> in <module>
          1 hobby_list= ['read','run','music','code']
    ----> 2 hobby1,hobby3 = hobby_list    # 报错,list里面有4个元素,但外面只有2个变量去接收,所以会报错
          3 print(hobby1,hobby3)
    
    
    ValueError: too many values to unpack (expected 2)
    

    所以解压缩也是需要一一对应的,但正常情况下我们可能只需要list中某一个值,其他的都不需要,取出来也没啥用,那该怎么办呢?
    我们可以这样操作

    hobby_list= ['read','run','music','code','food']   # 进阶版1.0
    hobby1,_,_,_,hobby5 = hobby_list
    print(hobby1,hobby5)
    
    read food
    
    hobby_list= ['read','run','music','code','food']   # 进阶版2.0
    hobby1,*_,hobby5 = hobby_list
    print(hobby1,hobby5)
    
    read food
    

    既然list可以解压缩,那么dict是否可以呢?我们来试试

    info_dict = {'name': 'hades',
                 'weight': 125,
                 'height': 167.6,
                 'hobby_list': ['read', 'write', 'listen music', 'travel']}
    info1,_,_,info4 = info_dict
    print(info1,info4)
    
    name hobby_list
    

    看到上面的代码没,dict也是可以解压缩的,只不过压缩的是key值

  • 相关阅读:
    Android 动画-alpha(渐变透明度动画效果)
    Memento(备忘录)
    Mediator(中介者)
    Iterator(迭代器)
    Command(命令)
    Chain of Responsibility(责任链)
    Template Method(模板方法)
    Interpreter(解释器)
    Proxy(代理)
    Flyweight(享元)
  • 原文地址:https://www.cnblogs.com/Hades123/p/10815595.html
Copyright © 2011-2022 走看看