• 【Python】 解析Python中的运算符


    Python中的运算符相比较于传统的C/C++差别不是很大,主要是一些个别的运算符上的差别。包括:算术、比较、赋值、位、逻辑、成员、身份等。
    它们的优先级:

    符号 说明
    ** 指数(最高优先级)
    ~,+,- 按位翻转,一元加号和减号(最后两个的方法名为+@ 和 -@,例如:+5,-5 正5,负5)
    *,/,%,// 乘,除,取模和取整数
    +,- 二元加号和减号
    >>,<< 右移,左移运算符
    & 按位与
    |,^ 按位或,按位异或
    <=,>=,==,!= 比较运算符
    =,%=,/=,//=,-=,+=,*=,**= 赋值运算符
    is,is not 身份运算符
    in,not in 成员运算符
    not,or,and 逻辑运算符
    a = 10
    print(a ** 2)#100
    print(~a)#a的二进制源码00001010,取反后11110101,(是负数用补码,反码10001010,补码10001011)
    print(+a)#5
    print(-a)#-5
    print(a>>1)#5
    print(a<<1)#10
    print(a&2)#2
    print(a^1)#11
    print(a|3)#9
    print(a!=6)#True
    print(a/3)#3.333
    print(a//3)#3
    print(a%3)#1
    print(a>6 and a<12)#True
    print(not a)#False

     注意:Python中是没有一元递减符(--),一元递加符(++),逻辑运算符(&&,||)的。

    in,not in的使用

    a = 3
    list = [1,2,3,4,5]
    if (a in list):
        print("a 在给定的list 列表中");
    else if(a not in list):
        print("a 不在给定的list列表中");
    else:
        print("不可能出现");

    == 和 is 的区别

    Python语言中的变量通常有3个属性,分别是name,id和value,其中的name为变量名,id与内存地址联合,value变量的值。

    == 和 is 都可以用来比较两个对象,但是==比较是对象的值(value),is比较的是对象的地址(id)。例如:

    a = [1,2,3]
    b = [1,2,3]
    print("a的id是",id(a));#a的id是140509619346760
    print("b的id是",id(b));#b的id是140509748600456
    print(a == b)#True
    print(a is b)#False

    其中==运算符比较的是变量的value,is运算符比较的是变量的id。a和b变量的值是一样的,所以a==b为True;a和b变量的id是不一样的,所以a is b 为False。

    但是并不是所有情况都是这样,对于小整数,Python缓存了-5~256之间的所有整数,共262个,因此[-5,256]的每个整数只有唯一的一个地址。例如:

    a = 200
    b = 200 #变量b和变量a 具有相同的地址
    print(a == b)#True
    print(a is b)#True




  • 相关阅读:
    python面试题之生成器迭代器
    python之初识函数二
    Python之初识函数一
    Python初识之文件操作
    python初识三
    python初识二
    python初识一
    2.15.5.menuconfig的使用和演示
    2.15.4.内核的配置原理1
    2.15.3.内核配置和编译体验
  • 原文地址:https://www.cnblogs.com/HDK2016/p/10430294.html
Copyright © 2020-2023  润新知