python自学1.2-运算符和表达式

本文介绍了Python中的各种运算符和表达式,包括算数、比较、赋值、位、逻辑、成员和身份运算符,以及它们在表达式中的应用。通过示例展示了运算符的用法和优先级,帮助读者深入理解Python语法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python

python中的运算符和表达式

加减乘除符号就是运算符,而算式‘’35-7=28‘,就是一个表达式。在python中,将具有运算功能的符号称为运算符。而表达式是由值、变量和运算符组成的式子。表达式的作用就是将运算符的运算作用表现出来。

算数运算符和算数表达式

算数运算符是用来实现数学运算功能的。算术表达式是由算术运算符和变量连接起来的式子。例如:

a,b,c,d=1,2,3,4
print(a+b)
print(d-a)
print(a*b)
print(d/b)
比较运算符和比较表达式

比较运算符也可以称为关系运算符,使用关系运算符可以表示两个变量或变量之间的关系。关系表达式就是用关系运算符将两个表达式连起来的句子,被连接的表达式可以是算数表达式、关系表达式、逻辑表达式和赋值表达式等。

在python中一共有6个比较运算符。

运算符功能
==等于运算符,用于比较对象是否相等
!=不能等于,用于比较两个对象是否不相等
>大于,用于返回x是否大于y
<小于,用于返回x是否小于y
>=大于,用于返回x是否大于等于y
<=小于,用于返回x是否小于等于y
赋值运算符和赋值表达式

赋值运算符的含义就是给某个变量或表达式设置一个值。在python中有两种赋值运算符,分别是基本赋值运算符和复合赋值运算符。

基本赋值运算符和表达式

基本赋值运算符记为“=”,由“=”连接的式子称为赋值表达式。

str1=520
str2=1314
str3=str1+str2
复合赋值运算符和表达式

为了简化程序并提高编译效率,python支持在赋值运算符“=”之前加上其他运算符,这样就构成了复合赋值运算符。复合赋值运算符的功能是,对赋值运算符左、右两边的运算对象进行指定的算数运算符运算,再将运算结果赋予左边的变量。

在python中一共有7种复合赋值运算符。

运算符功能
=简单的赋值运算符
+=加法赋值运算符
-=减法赋值运算符
*=乘法赋值运算符
/=除法赋值运算符
%=取模赋值运算符
**=幂赋值运算符
//=取整除赋值运算符

代码示例:


a,b,c=21,10,0
print('a的初始值为',a,'b的初始值为',b,'c的初始值为',c)
c+=a
print(" a + c = ",c)
c-=b
print("c - b = ",c)
c*=a
print("c * a = ",c)
c**=b
print("c ** b = ",c)
c/=b
print("c / b = ",c)
c//=b
print("c // b = ",c)
c%=b
print("c % b = ",c)
位运算符和位表达式

在python中使用位运算符可以直接操作二进制数据,位运算符可以直接操作整数类型的位。在python中一共有6个位运算符。

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

代码示例:

a=60			#60 = 0011 1100
b=13			#13 = 0000 1101
c=0
c=a&b			#12 = 0000 1100
c=a|b			#61 = 0011 1101
print('a | b = ',c)
c=a^b			#49 = 0011 0001
print('a ^ b = ',c)
c=~a			#-61 = 1100 0011
print('~ a = ',c)
c=a<<2			#240 = 1111 0000
print('a << 2 = ',c)
c=a>>2			#15 = 0000 1111
print('a >> 2 = ',c)
逻辑运算符和逻辑表达式

在python中,逻辑运算符就是将变量用逻辑运算符连接起来,并对其进行求值的一个运算过程。在python中只能将and、or、not三种运算符用作与逻辑运算。

代码示例:

a=10
b=20
if(a and b):
    print('a、b都为Ture')
else:
    print('a、b有一个不为True')
if(a or b):						#逻辑或运算符,如果两个数都不为零,则为真
    print('a、b有一个为0或都不为0')
else:
    print('a、b有一个为0')
a=0								#这里修改一下a的值为0
if(a or b):
    print('a、b有一个为0或都不为0')
else:
    print('a、b有一个为0')   
if not(a and b):				#逻辑非运算符,这里表示如果a、b都不为真,则条件为真
    print('a、b的值都为False,或其中一个变量为False')
else:
    print('a、b的值都为True')
成员运算符和成员表达式

python中除了上面介绍的运算符之外,还有成员运算符,能测试实例中包含的一系列成员,包括字符串、列表或元组。

成员运算符用来验证给定的值(变量)在指定的范围里是否存在。python中成员运算符有两个,分别是“in“和”not in“。

运算符功能
in如果在指定的序列中找到值则返回True,否则返回False
not in如果在指定的序列中没有找到值则返回True,否则返回False
a=10
b=20
list=[1,2,3,4,5];
if(a in list):
    print('a存在list')
else:
    print('a不存在于list')

if(b not in list):
    print('b不存在于list')
else:
    print('b存在list')
a=2 				#修改一下a的值,测试是否检测到a
if(a in list):
    print('a存在list')
else:
    print('a不存在于list')
   
身份运算符和身份表达式

在python中,身份运算符用来比较两个对象是否是同一个对象,这和用比较运算符中的”==“来比较两个对象的值是否相等有所区别。python中身份运算符一共有两个。分别是”is“和“not is”。

身份运算符的实现原理,需要从变量的属性入手,python中变量的属性有3个,分别是name、id和value。

  • name:可以理解为变量名

  • id:可以理解为内存地址

  • value:就是指变量的值

在python中身份运算符“is”是按id属性进行判断的,如果id一样返回True,否则返回False。代码示例:

a=[1,2,3]
b=[1,2,3]
print(a == b)		#返回True
print(a is b)		#返回False

“==”比较运算符:用来比较两个对象是否相等,value作为判断因素。

is同一性运算符:比较判断两个对象是否相同,id作为判断因素。

运算符的优先级

python中的优先级一共分为13级,1级最高,13级最低。在表达式中优先级高的先于优先级低进行运算。

当一个运算符号两侧的运算符优先级相同时,则按照运算符的结合性所规定的结合方向处理。运算符通常由左向右结合,即具有相同优先级的运算符按照从左到右的顺序计算。

运算符的优先级从高到低,如图:

运算符描述
**指数(优先级最高)
~、+、-按位翻转、一元加号和减号(+@和-@)
*、/、%、//乘、除、取模和取整除
+、-加法、减法
<<、>>左移、右移运算符
&位AND
^|位运算符
<=、<>、>=、==、!=比较运算符
=、%=、/=、//=、-=、+=、*=、**=赋值运算符
is、not is身份运算符
in、not in成员运算符
not、or、and逻辑运算符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值