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

    1、python算术运算符

    >>> a=15
    >>> b=5
    >>> a+b   #
    20
    >>> a-b   #
    10
    >>> a*b   #
    75
    >>> a/b    #除,为浮点数
    3.0
    >>> a%b   #取模,余数
    0
    >>> a**b   #取幂,a的b次方
    759375
    >>> a//b    #取整除,返回商的整数部分
    3

    2、python比较运算符

    >>> 1==1  #等于
    True
    >>> 1!=1   #不等于
    False
    >>> 1!=2
    True
    >>> 1>2   #大于
    False
    >>> 2>1
    True
    >>> 2<1    #小于
    False
    >>> 1<2
    True
    >>> 2>=1   #大于或等于
    True
    >>> 2>=2
    True
    >>> 2>=3 
    False
    >>> 2<=3   #小于或等于
    True
    >>> 2<=2
    True
    >>> 2<=1
    False

    3、python赋值运算符

    >>> a=123
    >>> a=b=c=123      #多变量赋值
    >>> a,b,c=1,2,'python'   #多变量按顺序赋值
    
    >>> a,b=10,20
    >>> c=0
    >>> c+=a    #等效于c=c+a
    >>> c
    10
    
    >>> c=30
    >>> c-=a  #等效于c=c-a
    >>> c
    20
    
    >>> c=5
    >>> c*=a   #等效于c=c*a
    >>> c
    50
    
    >>> c=30
    >>> c/=a   #等效于c=c/a
    >>> c
    3.0
    
    >>> c=36
    >>> c%=a   #等效于c=c%a
    >>> c
    6
    
    >>> c=2
    >>> c**=a   #等效于c=c**a
    >>> c
    1024
    
    >>> c=33
    >>> c//=a   #等效于c=c//a
    >>> c
    3

    4、python位运算符

    按位运算符是把数字看作二进制来进行计算的。

    &  按位与运算符,参与运算的两个值,如果连个相对应位都为1则该位结果位1,否则为0

    |  按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。

    ^  按位异或运算符:当两对应的二进位相异时,结果为1

    ~  按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1

    <<  左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。

    >>  右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数

    a = 60    # 60 = 0011 1100
    b = 13    # 13 = 0000 1101
    c = 0
    
    c = a & b  #12 = 0000 1100  都为真即为1否则为0
    print('c的&值:',c)
    
    c = a | b  #61 = 0011 1101  只要有一个为真则为1否则为0
    print('c的|值:',c)
    
    c = a ^ b  #49 = 0011 0001  二进制结果位相异时为1否则为0
    print('c的^值:',c)
    
    c = ~a     #-256-195= 1100 0011  反方向取值即可以取256-(195)的值-61
    print('c的~a值:',c)
    
    c = a << 2 #240= 1111 0000  对a二进制位向左位移2位,移动后面用0补齐
    print('c的<<值:',c)
    
    c = a >> 2 #15 = 0000 1111  对a二进制位向右位移2位,移动后面用0补齐
    print('c的>>值:',c)
    
    
    c的&值: 12
    c的|值: 61
    c的^值: 49
    c的~a值: -61
    c的<<值: 240
    c的>>值: 15

    5、python逻辑运算符

    and  x and y  布尔‘与’,如果x为false,x and y返回false,否则它返回y的计算值

    or  x or y  布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值

    not  not x  布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True

    >>> a = 10
    >>> b = 20
    >>> x = 0
    >>> a and b     #当a和b都为真时才输出b的值
    20
    >>> a and x    #a为true,x为false时输出为0
    0
    >>> x and a
    0
    
    >>> a or b  #a和b有一个为真则输出第一个碰到为真的值
    10
    >>> a or x
    10
    >>> y = 0
    >>> x or y   #两个都不满足时,才输出为0
    0
    
    >>> not a   #取a的反值
    False
    >>> not y   #y本身为false,取反就为true了
    True

    6、python成员运算符

    Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

    in  如果在指定的序列中找到值返回 True,否则返回 False。

    not in  如果在指定的序列中没有找到值返回 True,否则返回 False。

    >>> l1 = [1,2,3,4,5]
    >>> tuple = ('a','b','c')
    >>> dict = {'k1':'python','k2':'java','k3':'php'}
    
    >>> 'a' in tuple   #成员在元组其中则返回true
    True
    >>> 1 in l1
    True
    >>> '1' in l1    #注意这是字符串了,所以返回false
    False
    >>> 6 not in l1  #判断成员不在其中返回true
    True
    >>> 'd' not in tuple
    True
    
    >>> 'python' in dict.values()   #判断‘python‘在字典的value中返回true
    True
    >>> 'k1' not in dict.values()  #k1不是values的成员,所以返回true
    True
    >>> 'k5' not in dict.keys()
    True

    7、python身份运算符

    身份运算符用于比较两个对象的存储单元

    is  判断两个标识符是不是引用自一个对象,如果是同一个对象则返回true否则返回false

    is not  判断两个标识符是不是引用自不同的对象,如果引用的不是同一个对象则返回true,否则返回false

    >>> a = 11
    >>> b = 'ab'
    
    >>> a is b    #引用不同对象返回false
    False
    >>> a is not b   #引用不同对象返回true
    True
    >>> c = 11
    >>> a is c   #应用自同一个内存地址对象返回true
    True
    >>> id(a)
    8956800
    >>> id(c)
    8956800
    
    >>> a is not c  #是同一个地址对象返回false
    False
    #is 与 == 的区别
    #is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等
    >>> a = [1,2,3,4]
    >>> b = a
    >>> id(a)
    139653642018888
    >>> id(b)
    139653642018888
    >>> a is b   #内存地址相同则返回true
    True
    >>> a == b  #值相同返回true
    True
    >>> b = a[:]  #将a列表的值赋值给了b,此时b的内存地址发生了改变,但值同a相同
    >>> id(b)
    139653642018952
    >>> b
    [1, 2, 3, 4]
    >>> b is a   #内存地址不同了,则返回false
    False
    >>> b == a   #值还是相同则返回true
    True

    8、python运算符优先级

    以下表格列出了从最高到最低优先级的所有运算符:

    运算符 描述
    ** 指数 (最高优先级)
    ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
    * / % // 乘,除,取模和取整除
    + - 加法减法
    >> << 右移,左移运算符
    & 位 'AND'
    ^ | 位运算符
    <= < > >= 比较运算符
    <> == != 等于运算符
    = %= /= //= -= += *= **= 赋值运算符
    is is not 身份运算符
    in not in 成员运算符
    not or and 逻辑运算符
  • 相关阅读:
    2020.02.22周末作业清单
    2020.2.21作业清单
    2020.2.20作业清单
    数学题目
    2020.2.19作业单
    Request对象
    HTTP协议
    http协议
    tomcate
    servlet-3-相关配置
  • 原文地址:https://www.cnblogs.com/zhangxinqi/p/7651801.html
Copyright © 2011-2022 走看看