python入门必备:详细了解python的运算符

本文主要介绍python的运算符。什么是运算符,举个简单的例子予以说明:4+5=9。例子中4和5被称为操作数,“+”则称为运算符。python语言支持以下类型的运算符:

一、算数运算符

算术运算符用于执行基本算术运算,如加、减、乘、除和取余数等。

运算符描述示例
+加法:对两个数值相加或者连接两个字符串2 + 3 = 5
-减法:从第一个数值中减去第二个数值3 - 2 = 1
*乘法:两个数值相乘或重复字符串2 * 3 = 6
/除法:将第一个数值除以第二个数值,返回一个浮点数3 / 2 = 1.5
%取模:返回第一个数值除以第二个数值的余数7 % 2 = 1
**幂运算:返回第一个数值的第二个数值次幂2 ** 3 = 8
//整除:返回第一个数值除以第二个数值的整数部分(向下取整)7 // 2 = 3

下面是一些示例:

a = 10
b = 3

# 加法运算符
print(a + b)  # 输出 13

# 减法运算符
print(a - b)  # 输出 7

# 乘法运算符
print(a * b)  # 输出 30

# 除法运算符
print(a / b)  # 输出 3.3333333333333335

# 取模运算符
print(a % b)  # 输出 1

# 幂运算符
print(a ** b)  # 输出 1000

# 整除运算符
print(a // b)  # 输出 3

 此外,算术运算符还可以用于字符串的拼接:

str1 = 'Hello, '
str2 = 'world!'
print(str1 + str2)  # 输出 'Hello, world!'

需要注意的是,当算术运算符应用于不同类型的对象时,Python会自动进行类型转换。例如,在整数和浮点数之间执行算术运算时,整数会被自动转换为浮点数。

二、比较(关系)运算符

Python中的比较运算符用于比较两个值的大小关系,并返回布尔值True或False。下面是Python支持的比较运算符:

运算符描述示例
==检查两个值是否相等2 == 3,返回False
!=检查两个值是否不相等2 != 3,返回True
>检查第一个值是否大于第二个值2 > 3,返回False
<检查第一个值是否小于第二个值2 < 3,返回True
>=检查第一个值是否大于或等于第二个值2 >= 3,返回False
<=检查第一个值是否小于或等于第二个值2 <= 3,返回True

 下面是一些示例:

a = 10
b = 5

# 相等比较
print(a == b)  # 输出 False

# 不相等比较
print(a != b)  # 输出 True

# 大于比较
print(a > b)   # 输出 True

# 小于比较
print(a < b)   # 输出 False

# 大于等于比较
print(a >= b)  # 输出 True

# 小于等于比较
print(a <= b)  # 输出 False

比较运算符还可以用于字符串的比较:

str1 = 'abc'
str2 = 'def'
print(str1 == str2)  # 输出 False
print(str1 < str2)   # 输出 True
print(str1 > str2)   # 输出 False

需要注意的是,比较运算符只能用于相同类型的对象之间进行比较。如果比较的对象类型不同,则Python会自动进行类型转换。例如,当字符串和数字进行比较时,Python会将字符串转换为数字,然后再进行比较。此外,在Python中,空列表、空字符串和空字典等对象被视为False,非空对象被视为True。

三、赋值运算符

Python的赋值运算符用于将值赋给变量。赋值运算符的基本形式是将一个值赋给一个变量,例如 x = 5。在Python中,有多种赋值运算符,如下所示:

运算符描述示例
=简单的赋值运算符x = 5
+=加法赋值运算符x += 5 等价于 x = x + 5
-=减法赋值运算符x -= 5 等价于 x = x - 5
*=乘法赋值运算符x *= 5 等价于 x = x * 5
/=除法赋值运算符x /= 5 等价于 x = x / 5
%=取模赋值运算符x %= 5 等价于 x = x % 5
//=取整除赋值运算符x //= 5 等价于 x = x // 5
**=幂赋值运算符x **= 5 等价于 x = x ** 5
&=按位与赋值运算符x &= 5 等价于 x = x & 5
|=按位或赋值运算符x |= 5 等价于 x = x | 5
^=按位异或赋值运算符x ^= 5 等价于 x = x ^ 5
>>=右移赋值运算符x >>= 5 等价于 x = x >> 5
<<=左移赋值运算符x <<= 5 等价于 x = x << 5

 下面是一些示例:

# 简单的赋值运算符
x = 5
print(x)  # 输出 5

# 加法赋值运算符
x += 3
print(x)  # 输出 8

# 减法赋值运算符
x -= 2
print(x)  # 输出 6

# 乘法赋值运算符
x *= 4
print(x)  # 输出 24

# 除法赋值运算符
x /= 3
print(x)  # 输出 8.0

# 取模赋值运算符
x %= 5
print(x)  # 输出 3.0

# 幂赋值运算符
x **= 2
print(x)  # 输出 9.0

# 按位与赋值运算符
x = 15  # 二进制表示为 1111
x &= 7  # 二进制表示为 0111
print(x)  # 输出 7,即二进制表示为 011

四、逻辑运算符

Python的逻辑运算符用于对布尔值进行操作,通常用于控制程序流程。Python中有三种逻辑运算符:and、or和not。

  • and运算符:当两个操作数都为True时,结果为True,否则结果为False。
  • or运算符:当两个操作数中有一个为True时,结果为True,否则结果为False。
  • not运算符:对操作数进行取反操作,如果操作数为True,则结果为False,如果操作数为False,则结果为True。

下面是一些示例:

# and运算符
x = 5
y = 10
z = 15

if x < y and x < z:
    print("x is the smallest number.")
# 输出:x is the smallest number.

# or运算符
x = "apple"
y = "banana"
z = "cherry"

if x == "banana" or x == "cherry":
    print("x is not my favorite fruit.")
else:
    print("x is my favorite fruit.")
# 输出:x is my favorite fruit.

# not运算符
x = True

if not x:
    print("x is False.")
else:
    print("x is True.")
# 输出:x is True.

 注意:逻辑运算符只能用于布尔值,但在Python中,除了布尔值之外,任何值都可以用作逻辑表达式。在这种情况下,Python会将非零值视为True,零值视为False。例如:

x = 5
y = 0

if x and y:
    print("Both x and y are True.")
else:
    print("At least one of x and y is False.")
# 输出:At least one of x and y is False.

在上面的示例中,x是一个非零值,因此它被视为True。y是零值,因此它被视为False。由于y是False,所以条件表达式的值为False,执行else语句块。

五、位运算符 

Python中的位运算符用于操作二进制数值。这些运算符将数值转换为二进制数,然后对二进制数进行位操作。Python中的位运算符包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移(<<)和右移(>>)。     

下面是位运算符的详细介绍和示例:

(1)按位与(&):将两个操作数的每一位进行与运算,只有在两个位都为1时,结果才为1。

a = 10    # 二进制 1010
b = 7     # 二进制 0111

print(a & b)    # 输出:2(二进制 0010)

 (2)按位或(|):将两个操作数的每一位进行或运算,只有在两个位都为0时,结果才为0。

a = 10    # 二进制 1010
b = 7     # 二进制 0111

print(a | b)    # 输出:15(二进制 1111)

 (3)按位异或(^):将两个操作数的每一位进行异或运算,只有在两个位不同时,结果才为1。

a = 10    # 二进制 1010
b = 7     # 二进制 0111

print(a ^ b)    # 输出:13(二进制 1101)

(4)按位取反(~):将一个操作数的每一位进行取反操作,0变为1,1变为0。

a = 10    # 二进制 1010

print(~a)    # 输出:-11

(5)左移(<<):将一个操作数的所有位向左移动指定的位数,右侧用0填充。

a = 10    # 二进制 1010

print(a << 2)    # 输出:40(二进制 101000)

(6)右移(>>):将一个操作数的所有位向右移动指定的位数,左侧用0或者符号位填充,取决于数值是否为负数。

a = 10    # 二进制 1010

print(a >> 2)    # 输出:2(二进制 0010)

需要注意的是,位运算符一般用于底层编程,例如在编写驱动程序或编写加密算法时。在普通的应用程序开发中,位运算符用得比较少。

六、成员运算符

Python中的成员运算符用于判断一个值是否存在于序列(列表、元组、集合、字典等)中。Python中的成员运算符包括in和not in。

下面是成员运算符的详细介绍和示例:

(1)in运算符:用于检查一个值是否存在于序列中,如果存在,则返回True;否则返回False。

lst = [1, 2, 3, 4, 5]

print(3 in lst)    # 输出:True
print(6 in lst)    # 输出:False

(2)not in运算符:用于检查一个值是否不存在于序列中,如果不存在,则返回True;否则返回False。

lst = [1, 2, 3, 4, 5]

print(3 not in lst)    # 输出:False
print(6 not in lst)    # 输出:True

成员运算符在判断一个值是否存在于序列中时非常有用。例如,可以使用成员运算符在列表中查找某个元素,或者在字符串中查找某个子串。

七、身份运算符 

Python中的身份运算符用于比较两个对象的内存地址是否相同,即比较它们是否引用同一个对象。Python中的身份运算符包括is和is not。

下面是身份运算符的详细介绍和示例:

(1)is运算符:用于比较两个对象的内存地址是否相同,如果相同,则返回True;否则返回False。

x = [1, 2, 3]
y = [1, 2, 3]
z = x

print(x is y)    # 输出:False
print(x is z)    # 输出:True

 (2)is not运算符:用于比较两个对象的内存地址是否不相同,如果不相同,则返回True;否则返回False。

x = [1, 2, 3]
y = [1, 2, 3]
z = x

print(x is not y)    # 输出:True
print(x is not z)    # 输出:False

身份运算符在比较对象时非常有用。例如,可以使用身份运算符比较两个变量是否引用同一个对象,或者在函数中比较两个参数是否是同一个对象。需要注意的是,身份运算符比较的是对象的内存地址,而不是对象的值。因此,对于不可变对象(如数字、字符串、元组等),它们的值相同时,它们的内存地址也相同。

八、运算符优先级

Python中的运算符优先级指的是运算符之间的执行顺序,不同的运算符具有不同的优先级,优先级高的运算符先执行。如果不确定优先级,可以使用括号来明确运算顺序。

下面是Python中常见运算符的优先级从高到低的顺序:

运算符描述
**幂运算
~ + -按位取反、正号、负号
* / % //乘法、除法、取模、整除
+ -加法、减法
>> <<右移、左移
&按位与
^ |按位异或、按位或
<= < > >=小于等于、小于、大于、大于等于
== !=等于、不等于
= %= /= //= -= += *= **=赋值、复合赋值
is is not身份运算符
in not in成员运算符
not and or逻辑运算符

下面是一些运算符优先级的示例:

x = 2
y = 3
z = 4

result = x + y * z  # 先执行乘法,再执行加法
print(result)       # 输出:14

result = (x + y) * z  # 先执行括号内的加法,再执行乘法
print(result)         # 输出:20

result = x == y or z < y  # 先执行比较运算符,再执行逻辑运算符
print(result)             # 输出:False

result = not x is y  # 先执行身份运算符,再执行逻辑运算符
print(result)        # 输出:True

需要注意的是,如果不确定运算符的优先级,最好使用括号来明确运算顺序,以避免出现意想不到的错误。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值