Python从入门到上瘾04——运算符以及表达式

    xiaoxiao2025-04-06  34

    版权申明:原创文章,未经博主同意,不得转载!

    Python从入门到上瘾04——运算符以及表达式

    小白高效学习Python系列,50小时学会Python 表达各个变量间的关系,实现对变量的处理,就必须用到运算符以及表达式。通俗来讲,具有运算功能的符号称为运算符;由值、变量和运算符组成的式子为表达式。

    “ 阅读本文需要大约10分钟。”

    01 赋值、算数、位运算符

    赋值运算符通俗来讲就是,把某种数据类型的值赋于某个变量。Python允许同时为多个变量赋值。

    name='IEEE' Alice, Bob, Charlie = '18岁','Beautiful', '帅' # 多个变量同时赋值

    有时为简化程序,便于美观,可以在赋值运算符前结合其他运算符,称为复合赋值运算。例如:

    a,b=12,11 c-=a #等价于c=c-a c%=a #等价于c=c%a

    其余复合赋值运算符如下:

    +=加法赋值-=减法赋值*=乘法赋值/=除法赋值%=模运算赋值<<=左移赋值>>=右移赋值&=位逻辑与赋值=位逻辑或赋值^=位逻辑异或赋值

    算数运算符,算数运算符主要用于数学运算,例如

    a=12 b=7 print(a//b) #运算结果为1

    Python中算数运算符如下表

    +加 - 两个对象相加-减 - 得到负数或是一个数减去另一个数*乘 - 两个数相乘或是返回一个被重复若干次的字符串/除 - x除以y%取模 - 返回除法的余数**幂 - 返回x的y次幂//取整除 - 向下取整

    位运算符,把数字看作二进制来进行计算。位运算符可以直接操作整数类型的二进制位。例如

    a=0xFFFF #十六进制 b=0b0011110000001111 #二进制 print(a&b) print(a|b) print(a<<2) print(a>>2)

    运算结果如下

    15375 # 0b11110000001111 65535 # 0b1111111111111111 262140 # 0b111111111111111100 16383 # 0b11111111111111

    位运算符如下表

    &按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。^按位异或运算符:当两对应的二进位相异时,结果为1~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。<<左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。>>右移动运算符:>>左侧的运算数的各二进位全部右移若干位,>> 右侧的数字指定了移动的位数,高位补0

    02 比较、逻辑运算符

    比较运算符也可叫做关系运算符,常用来比较两个数字的大小关系,返回值为True或者False。例如

    a = 16 b = 18 if a == b : print(" a 等于 b") else: print (" a 不等于 b")

    其余比较运算符如下表:

    ==等于 - 比较对象是否相等!=不等于 - 比较两个对象是否不相等<>不等于 - 比较两个对象是否不相等>大于 - 返回x是否大于y<小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。>=大于等于 - 返回x是否大于等于y。<=小于等于 - 返回x是否小于等于y。

    逻辑运算符,Python中只能使用and,or,not三种逻辑运算符。例如

    a = 10 b = 20 if a and b : print ("变量 a 和 b 都为 true") else: print (" 变量 a 和 b 有一个不为 true")

    其余逻辑运算符如下

    andx and y布尔"与", 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。orx or y布尔"或" , 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。notnot x布尔"非" ,如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

    03 成员、身份运算符

    成员运算符(in,not in) 用来验证某个实例中是否存在给定的变量。该实例可以是字符串、列表、元组(后面会详细讲解)。

    in如果在指定的序列中找到值返回 True,否则返回 False。如果 x 在 y 序列中返回 True。not in如果在指定的序列中没有找到值返回True,否则返回 False。如果 x 不在 y 序列中返回 True。 a = 1 list = [1, 2, 3, 4, 5]; if ( a in list ): print (" 变量 a 在给定的列表中 list 中") else: print (" 变量 a 不在给定的列表中 list 中") b ='C' s = 'Charlie' if ( b not in s ): print ("变量 b 不在给定的字符串中 s 中") else: print ("变量 b 在给定的字符串中 s 中")

    运行结果如下

    变量 a 在给定的列表中 list 中 变量 b 在给定的字符串中 s 中

    身份运算符(is),用来比较两个标识符是不是引用自一个对象。要说明身份运算符,就得先来讲讲Python中变量的属性。Python中变量有3种属性,变量名(name),值(value),内存地址(id)。比较运算符“==”比较的是变量的值(value);身份运算符’‘is’’,比较的是变量内存地址(实际上说成是内存地址并不准确,新手可以这么理解)。下面代码说明了两者运算过程。

    a = [1,2,3] b = [1,2,3] print(id(a))#2332942295624 print(id(b))#2332942295688 print(a is b) #False print(a == b) #True ​ c = 1 d = 1 print(id(c)) #140727065228112 print(id(d)) #140727065228112 print(c is d) #True print(c == d) #True

    本期到此结束,扫下面二维码加Python学习公众号,有海量优质资源免费领取!

    最新回复(0)