Python全栈自动化测试-Python基础06--运算符

目录

前言

一、算数运算符

1.加减乘除 + - * /

2.取模(求余数)%

3.整除 //

4.幂(次方)  **

5.特殊场景使用

二、关系运算符(比较运算)

1.数字比较

2.字符串比较

三、赋值运算符

四、逻辑运算符

1.布尔值逻辑运算

2.数字逻辑运算

3.逻辑运算优先级

五、成员运算符

六、身份运算符

1.比较两个变量是否引用同一个对象

2.比较整数和字符串(小整数对象池)

七、运算符优先级

总结


前言

        在编程的世界里,运算符是构建程序逻辑和算法的基础工具。Python作为一种通用、易学的编程语言,提供了丰富的运算符来支持各种操作。无论是进行基本的数学计算,还是进行复杂的逻辑判断,Python的运算符都能为我们提供强大的支持。

        本文旨在系统介绍Python中的各类运算符,帮助大家理解和掌握它们的用法。我们将从基本的算术运算符开始,逐步介绍比较运算符、赋值运算符、逻辑运算符、成员运算符、身份运算符、位运算符,其中位运算符作为了解,感兴趣的可以自行再进行学习。同时,我们也会详细解释运算符的优先级和结合性,以确保大家能够编写出正确、高效的代码。


一、算数运算符

算数运算符,主要用来进行计算,例如:+加 ,-减 ,*乘, /除(浮点数除法) , %取模(取余) , //整数除法(向下取整) ,  **幂运算(指数)

1.加减乘除 + - * /

num1 = 10
num2 = 5

print(num1 + num2)
print(num1 - num2)
print(num1 * num2)
print(num1 / num2)  # 2.0 除法运算,保留小数

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
15
5
50
2.0

2.取模(求余数)%

num1 = 10
num3 = 3
print(num1 % num3)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
1

# 10除以3,余数为1,取余数1

3.整除 //

num1 = 10
num3 = 3
print(num1 // num3)
>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
3

# 10除以3,结果3.333333333....  取整数为3

4.幂(次方)  **

num1 = 10
num3 = 3
print(num1 ** num3)
>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
1000

# 10的3次方,结果为1000

5.特殊场景使用

计算的数据非纯数字 -- 一半是数字,一半不是;加法可以连接多个字符串的内容,乘法可以连续多次输出字符串内容;注意:不同的数据类型是无法进行计算的

# 拼接在一起
str1 = "hello"
str2 = "world"
print(str1 + str2)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
helloworld
# 相乘,多次输出
str1 = "hello"
num4 = 3
# print(str1 + num4) # 字符串和数字不能相加
print(str1 * num4)  # 相乘,多次输出,次数由后面的数字来决定的
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
hellohellohello
# 其他多种类型运算
data = 3
f2 = 2.111
print(data + f2)  # 5.111000000000001 -- 原因:由于python的底层代码的问题导致的 -- 精准度丢失

bol = True  # 非0则为True,True在做计算的时候为:1
print(data + bol)  # 可以相加的,得到的结果:4
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
5.111000000000001
4

二、关系运算符(比较运算)

比较运算符,一般用于判断、循环。例如:>大于,<小于,==等于,!=不等于,>=大于等于,<=小于等于,比较运算符返回的结果是bool值: True、False;关系运算符==等于,!=不等于同样适用于两个字符串是否相同

1.数字比较

a = 10
b = 5
print(a > b)
print(a < b)
print(a == b)  # 判断是否等于
print(a != b)  # 不等于
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
True
False
False
True

2.字符串比较

str1 = False
str2 = 0
str3 = "关系运算"
str4 = "关系运算符"
print(str1 == str2)
print(str3 == str4)
>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
True
False

三、赋值运算符

赋值运算,用于给变量赋值,例如:=赋值,+=加法赋值(例如,a += b 相当于 a = a + b),-=减法赋值,*=乘法赋值,/=除法赋值,//=整数除法赋值 ,%=取模赋值,**=幂赋值

"""
把右边的值赋值给左边的变量
"""
a = 10
b = 5

# a += 5  # a = a + 5 简写
# print(a)  # 15

# a -= 5  # a = a - 5
# print(a)  # 5,涉及到除法运算的结果,都是float

# a *= 5  # a = a * 5
# print(a)  # 50

# a /= 5  # a = a / 5
# print(a)  # 2.0

# a //= 5  # a = a // 5
# print(a)  # 2

# a %= 5  # a = a % 5
# print(a)  # 0

# a **= 5  # a = a ** 5
# print(a)  # 100000

四、逻辑运算符

逻辑运算,一般用于判断,循环。例如:and与 , or或 , not非;
逻辑运算符返回的结果是布尔值:True或者False;
逻辑运算符内部三个优先级: not > and > or;

与运算:所有的逻辑都是True,那么最终的结果才是True -- and
        同真为真,有假为假
或运算:只要有一个逻辑是True,那么最终的结果就是True -- or
        同假为假,有真为真
非运算:杠精 -- 不管别人是对的,还是错的,他一定是持反对意见 -- not

1.布尔值逻辑运算

a = True  # 用1表示
b = False  # 用0表示

"""
布尔值逻辑运算:
"""
print(a and b)
print(a or b)
print(not b)
>>>>>>>>>>>>>>>>>>>>>
输出结果:
False
True
True

2.数字逻辑运算

# 优先级:比较运算符 > 逻辑运算符
print(1 > 2 and 4 > 3)
print(1 > 2 or 4 > 3)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
False
True

3.逻辑运算优先级

# 优先级: not > and > or
print(2>1 and 3>4 or 1>0 and not 4>5)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
True

# 优先级: 算数 > 比较 > 逻辑
print(1 + 1 > 1 + 2 and 3 + 2 < 3 - 1 or 5 and not True)  # False
print(2 > 3 and 5 < 2 or 5 and not True)
print(False and False or 5 and not True)
print(False and False or 5 and False)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
False
False
False
False

五、成员运算符

成员运算,用来判断指定的内容是否存在变量中,例如:in检查一个值是否存在于某个序列中(如列表、元组、字符串) , not in检查一个值是否不存在于某个序列中
成员运算符返还的结果是布尔值:True 或者False
str1 = "hello python"
print("py" not in str1)
print("py" in str1)
print(" " in str1)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
False
True
True

# 数字是一个整体,是无法去判断包含或者不包含;bool也不行

六、身份运算符

身份运算,用于比较两个对象的身份,即比较它们是否是内存中的同一个对象。例如:is检查两个对象的标识是否相同(即它们是否指向内存中的同一个位置),is not检查两个对象的标识是否不同;这与==!=不同,后者比较的是两个对象的值是否相等

1.比较两个变量是否引用同一个对象

list1 = [1, 2, 3]
list2 = list1
list3 = [1, 2, 3]

# 使用is运算符检查list1和list2是否引用同一个对象
print(list1 is list2)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
True

# 使用is运算符检查list1和list3是否引用同一个对象
print(list1 is list3)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
False

# 使用is not运算符检查list1和list3是否不是同一个对象
print(list1 is not list3)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
True

2.比较整数和字符串(小整数对象池)

Python为了性能优化,对于小的整数(在-5到256之间,这个范围可能因Python实现而异)会缓存这些整数的对象。这意味着当创建这些范围内的整数时,实际上是在引用同一个对象。

# 比较小整数
a = 100
b = 100

# 使用is运算符检查a和b是否引用同一个对象
print(a is b)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
True (因为a和b都是小整数)

# 比较大整数,它们不会被缓存
c = 10000
d = 10000

# 使用is运算符检查c和d是否引用同一个对象
print(c is d)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
False (因为c和d不是小整数)

# 字符串总是新的对象,即使它们的内容相同
e = "hello"
f = "hello"

# 使用is运算符检查e和f是否引用同一个对象(在某些Python实现中,如CPython,字符串是interned的)
print(e is f)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
True (在CPython中,相同内容的字符串字面量是同一个对象)

# 使用字符串方法创建新的字符串对象
g = "hello".upper()

# 使用is运算符检查e和g是否引用同一个对象
print(e is g)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
输出结果:
e is g: False (因为g是通过方法创建的新对象)

七、运算符优先级

算数优先级优先级大于比较运算符,比较运算符优先级大于逻辑运算符,逻辑运算符内部三个优先级 not > and > or

所有的运算符都有一个优先级需要遵循,优先级从高到低依次如下图表示


总结

在本文中,我们探讨了Python中的各种运算符,包括算术运算符、比较运算符、逻辑运算符、成员运算符以及赋值运算符等。这些运算符不仅丰富了Python的语法,也极大地增强了其编程的灵活性和表达力。通过学习和掌握这些运算符,我们能够更加高效地编写Python代码,实现复杂的逻辑和计算任务。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值