运算符

运算符

1、算数运算符
  print(10 / 3)
  print(10 // 3) # 平板除,除下来的结果不保留小数部分
  print(10 % 3)
  print(10 ** 2) # 次方的意思,[10 ** 2]则为 10的2次方, [10 ** 3]则为10的3次方

2、比较运算符
  print(10 == 10)
  print(10 != 10)
  print(10 > 3)
  print(10 < 3)
  print(10 >= 10)
  print('egon' == 'egon')

  了解知识点:
    x='abcdef' # str可以相比较
    y='abcz'
    print(x > y)
    纯字母的str可以互相比较

    l1=[2,'abc',3] # list也可相比较
    l2=[2,'3']
    print(l2 > l1)
    str 不可以跟 int做比较

3、赋值运算符
  3.1 增量赋值
    age = 18
    # age = age + 1
    上一行代码可以写成下一行代码
    age += 1  # 即为age=age+1
    print(age)  # 结果: age为 19

    age-=1  # 即为age=age-1
    print(age)   # 结果:age为 17

  3.2 交叉赋值
    x=11
    y=22

    temp=x
    x=y
    y=temp
    上述三行代码可以合并为下面这一行
    x,y=y,x
    print(x,y)  # 22 11

  3.3 链式赋值
    x=10
    y=x
    z=y
    上述三行代码可以合并为下面这一行
    x=y=z=10
    print(id(x),id(y),id(z))  # 结果:x y z的ID相同,即值相同,链式赋值成功

  3.4 解压赋值
  	list=['a','b','c','d','e']
    x=list[0]
    y=list[1]
    z=list[2]
    m=list[3]
    n=list[4]

    等号左边的变量名必须与右面所包含的值一一对应
    x,y,z,m,n=list
    print(x,y,z,m,n)  # a b c d e

    x,y,*_,z=list
    print(x,y,z)  # a b e

4、逻辑运算符
  and:逻辑与,用来连接左右两个条件,在左右两个条件同时为True的情况下,最终结果才为True
    print(10 < 3 and 3 == 3)
    print(10 > 3 and 3 == 3 and 1 == 1 and 1 > 0)

  or:逻辑或,用来连接左右两个条件,左右两个条件但凡有一个为True,最终结果就为True
    print(10 < 3 or 1 == 1)
    print(10 < 3 or 1 == 1 or 10 < 11 or 1!= 1 or 'a' != 'a')

  not:取反
    print(not 10 > 3) # 结果:10 > 3为 Ture , not 取反 则为 Flase

    res=(10 > 3 and 'egon' != 'egon') or ((1 < 3 and 4 >= 3) or (not 8 > 3))
    print(res)
    # 以括号来认为规定逻辑运算优先级

5、身份运算符
  ==:判断的是值是否相等
  is:判断的是id是否相等

    值相等,id可以不同
    >>> x='info:egon:18:male'
    >>> y='info:egon:18:male'
    >>> id(x),id(y)
    (2924120923496, 2924120923568)
    >>> x == y
    True
    >>> x is y
    False

    id相同,值一定相同
    >>> x=10
    >>> x=y
    >>> id(x)
    2924120923568
    >>> id(y)
    2924120923568
    >>>
    >>> x is y
    True
    >>> x == y
    True
posted @ 2019-03-20 19:59  输诚  阅读(185)  评论(0)    收藏  举报