zoukankan      html  css  js  c++  java
  • 基础知识—基本运算符

    基础知识-基本运算符

    1.算数运算符

    print(10 + 3)
    print(10 - 3)
    print(10 * 3)
    print(10 / 3) # 保留小数部分
    print(10 // 3) # 只保留整数部分
    print(10 % 3) # 取余数,取模
    print(10 ** 3)# 幂次方
    

    2.比较运算符:

    x=10
    y=10
    print(x == y) # =一个等号代表的是赋值
    
    x=3
    y=4
    print(x != y) # 不等于
    
    x=3
    y=4
    print(x > y) # False
    print(x < y) # True
    print(x >= y) # False
    print(x <= y) # True
    
    print(10 <= 10) # True
    

    3.赋值运算符

    age=18
    age=age + 1 # 赋值运算
    age+=1 # 赋值运算符,age=age+1
    print(age)
    
    age*=10 # age=age*10
    age**=10 # age=age**10
    age/=10 # age=age/10
    age//=10 # age=age//10
    age-=10 # age=age-10
    print(age)
    
    1. 增量赋值
        x=10
        x+=1
    
    2. 交叉赋值
        a = 10
        b = 20 
        a, b = b, a
        print(a,b)
    
    3. 链式赋值
        a=7
        b=a
        c=b
        d=c
    
        a = b = c = d = 7
        print(a,b,c,d)
    
    
    4. 解压赋值: 取开头和结尾的几个值
        salaries=[33,44,55,66,77]
    
        左边变量名的个数与右面包含值的个数相同,多一个不行,少一个也不行
        x,y,z,a,b=salaries
        print(x,y,z,a,b)
    
        salaries=[33,44,55,66,77,88,99]
        x,y,z,*abc=salaries
    
        x,y,z会对应列表salaries的前三个值
        然后*会把剩余的值存放一个列表,然后赋值给abc
    
        print(x,y,z)
        print(abc)
    
        _当变量名,代表该变量值是无用的
        x,y,z,*_=salaries # 取前三个值
        print(x,y,z)
        print(_)
    
        salaries=[33,44,55,66,77,88,99]
         *_,m,n=salaries # 取后两个值
         print(_)
        print(m,n)
    
        salaries=[33,44,55,66,77,88,99]
        x,y,z,*_,m=salaries # 取后两个值
        print(x,y,z)
        print(m)
    
        d={'a':1,'b':2,'c':3}
        x,y,z=d
        print(x,y,z)
    

    4.逻辑运算符

    and: 逻辑与,and是用来连接左右两个条件,只有在左右两个条件同时为True,最终结果才为True,但凡有一个为False,最终结果就为False
    
        print(10 > 3 and True)
        print(10 < 3 and True and 3 > 2 and 1==1)
    
    or:逻辑或,or是用来连接左右两个条件,但凡有一个条件为True,最终结果就为True,除非二者都为False,最终结果才为False
        print(True or 10 > 11 or 3 > 4)
        print(False or 10 > 11 or 3 > 4)
        print(False or 10 > 9 or 3 > 4)
    
                 False      or     (True and True)
                 False      or      True
         res=(True and False) or (10 > 3 and (3 < 4 or 4==3))
        print(res)
    
    not:把紧跟其后那个条件运算的结果取反
        print(not 10 > 3)
    
                 False      or     (False and False)
                 False      or     False
        res=(True and False) or (not 10 > 3 and (not 3 < 4 or 4==3))
        print(res)
    
    PS:and连接多个条件,会按照从左到右的顺序依次判断,一旦某一个条件为False,则无需再往右判断,可以立即判定最终结果就为False,只有在所有条件的结果都为True的情况下,最终结果才为True。or连接多个条件,会按照从左到右的顺序依次判断,一旦某一个条件为True,则无需再往右判断,可以立即判定最终结果就为True,只有在所有条件的结果都为False的情况下,最终结果才为False
    
    扩展:
    1. 优先级:not > and > or
      not与紧跟其后的那个条件是不可分割的
      如果条件语句全部由纯and、或纯or链接,按照从左到右的顺序依次计算即可
    print(True and 10 > 3 and not 4 < 3 and 1 == 1)
    print(False or 10 < 3 or not 4 < 3 or 1 == 1)
    
    对于既有and又有or链接的语句,以and为中心把左右两个条件用
    括号括起来
    
    res=(10 == 9 and 0 < 3) or ('' == 'egon' and 0> 3) or not True or ('egon' == 'dsb' and 333 > 100) or 10 > 4
    print(res)
    
    1. 短路运算=>偷懒原则(逻辑运算的结果一旦可以确定,那么就以当前处计算到的值作为最终结果返回)
      所有的数据类型的值都自带布尔值,所以值可以直接被当成条件使用
      0、None、空三种值对应的布尔值为False,其余全为True
    if 0:
         print('ok')
     else:
         print('=====>')
    
     if 3 and []:
         print('真')
     else:
         print('假')
    
     and运算会返回当前计算位置的值
     res=0 and 123
     res=111 and 123
     print(res)
    
     if 111 and 123:
         print('ok')
     else:
         print('no')
    
     x=''
     if x:
         print('不为空')
     else:
         print("为空")
    
    print(1 or 0) # 1
    print(0 and 2 or 1) # 1
    print(0 and 2 or 1 or 4) # 1
    

    python常用数学函数

    函数 返回值(描述)
    abs(x) 返回数字的绝对值,如abs(-10)返回10
    fabs(x) 返回数字的绝对值,如math.fabs(-10)返回10
    floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
    max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。
    min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。
    pow(x, y) x**y 运算后的值。
    round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
    sqrt(x) 返回数字x的平方根。


  • 相关阅读:
    mysql左连接、右链接、内连接
    各种排序算法及其java程序实现(转载)
    将Android手机设备挂载到ubuntu中
    EditText 不让其自动获取焦点
    Ubuntu安装JDK+Tomcat+Eclipse以及Android adb配置环境变量
    ADT22解决引用第三方jar提示java.lang.NoClassDefFoundError
    winform实现类似google的搜索提示Suggest Search
    抽象工厂模式
    各种小知识随笔
    CSS知识点【待整理】
  • 原文地址:https://www.cnblogs.com/chenwenyin/p/12335468.html
Copyright © 2011-2022 走看看