python爬虫基础-----运算符(第三天)

🎈🎈作者主页: 喔的嘛呀🎈🎈

🎈🎈所属专栏:python爬虫学习🎈🎈

✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨

运算符

在Python中,运算符用于执行各种操作,如算术运算、比较、逻辑运算等。以下是一些常见的Python运算符及其详细说明和示例代码:

1、算术运算符

运算符 描述 实例
+ 加法
- 减法
* 乘法
/ 除法
// 取整数 返回商的整数部分 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0
% 取余 返回除法的余数 b % a 输出结果 0
** 幂运算 a**b 为10的20次方
() 小括号 提高运算优先级,比如: (1+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) # 3
print(a ** b) # 1000

在Python中,算数运算符可以用于字符串,执行一些基本的操作,如拼接字符串、重复字符串等。以下是一些常见的算数运算符在字符串中的使用方法:

  1. 加法运算符 +:用于字符串拼接。

    str1 = "Hello"
    str2 = "World"
    result = str1 + " " + str2
    print(result) # Output: Hello World

2.乘法运算符 *:用于重复字符串。

复制代码
str1 = "Python"
result = str1 * 3
print(result)  # Output: PythonPythonPython

3、注意:如果是数字和字符串做加法运算,会直接报错。

2、复合赋值运算符

运算符 描述 实例
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a

示例代码:

复制代码
x = 5
x += 3  # x = x + 3,此时 x 的值变为 8

y = 10
y -= 2  # y = y - 2,此时 y 的值变为 8

z = 3
z *= 4  # z = z * 4,此时 z 的值变为 12

a = 20
a /= 5  # a = a / 5,此时 a 的值变为 4.0

b = 20
b %= 3  # b = b % 3,此时 b 的值变为 2

c = 2
c **= 3  # c = c ** 3,此时 c 的值变为 8

d = 20
d //= 3  # d = d // 3,此时 d 的值变为 6

3、比较运算符

a=5 b=10

| 运 算

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

示例代码

复制代码
x = 5
y = 10

# 等于
print(x == y)  # 输出 False

# 不等于
print(x != y)  # 输出 True

# 大于
print(x > y)   # 输出 False

# 小于
print(x < y)   # 输出 True

# 大于等于
print(x >= y)  # 输出 False

# 小于等于
print(x <= y)  # 输出 True

4、逻辑运算符

| 运 算 符 | 逻辑表 达式 | 具体描述 | 实例 | | --- | --- | --- | --- | | and | x and y | 只要有一个运算数是False,结果就是False; 只有所有的运算数都为True时,结果才是True 做取值运算时,取第一个为False的值,如果所有的值 都为True,取最后一个值 | True and True and False--> 结果为False True and True and True--> 结果为True | | or | x or y | 只要有一个运算数是True,结果就是True; 只有所有的运算数都为False时,结果才是False 做取值运算时,取第一个为True的值,如果所有的值都 为False,取最后一个值 | False or False or True-->结 果为True False or False or False-->结 果为False | | not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not True --> False |

示例代码

复制代码
x = True
y = False

# 逻辑与
print(x and y)  # 输出 False

# 逻辑或
print(x or y)   # 输出 True

# 逻辑非
print(not x)    # 输出 False
print(not y)    # 输出 True

逻辑运算符用于组合多个条件,以便根据需要执行不同的操作。例如,在if语句中,可以使用逻辑运算符组合多个条件来确定是否执行特定的代码块。

5、三元条件运算符

三元条件运算符是一种简洁的表示条件表达式的方法,它由三部分组成:条件表达式、真值时的结果和假值时的结果。在Python中,三元条件运算符的语法如下:

复制代码
x = true_value if condition else false_value

中,condition是一个条件表达式,如果它的值为真,则整个表达式的值为 true_value ,否则为**false_value**。这种写法可以用于简化一些条件判断的代码,使代码更加简洁。

例如,下面的代码使用三元条件运算符判断一个数是否为偶数

复制代码
num = 10
result = "偶数" if num % 2 == 0 else "奇数"
print(result)  # 输出 "偶数"

在这个例子中,num % 2 == 0 是条件表达式,如果这个表达式的值为真(即**num**是偶数),则结果为"偶数",否则为"奇数"。

6、成员运算符

成员运算符用于检查一个值是否存在于一个序列(如列表、元组、集合、字符串等)中。Python中的成员运算符包括**in not in**。下面是详细全面的代码示例:

复制代码
# 列表示例
my_list = [1, 2, 3, 4, 5]
print(3 in my_list)    # 输出 True,因为3在列表中
print(6 in my_list)    # 输出 False,因为6不在列表中

# 元组示例
my_tuple = (1, 2, 3, 4, 5)
print(3 in my_tuple)   # 输出 True,因为3在元组中
print(6 in my_tuple)   # 输出 False,因为6不在元组中

# 字符串示例
my_string = "Hello, World!"
print("Hello" in my_string)    # 输出 True,因为"Hello"在字符串中
print("Python" in my_string)   # 输出 False,因为"Python"不在字符串中

# 集合示例
my_set = {1, 2, 3, 4, 5}
print(3 in my_set)    # 输出 True,因为3在集合中
print(6 in my_set)    # 输出 False,因为6不在集合中

# 字典示例(检查的是键)
my_dict = {1: 'one', 2: 'two', 3: 'three'}
print(2 in my_dict)   # 输出 True,因为2是字典的一个键
print('two' in my_dict)   # 输出 False,因为'two'不是字典的一个键
print(1 in my_dict.keys())   # 输出 True,因为1是字典的一个键
print('one' in my_dict.values())   # 输出 True,因为'one'是字典的一个值

这些示例展示了如何使用成员运算符**in not in**来检查值是否存在于不同类型的序列中。

7、身份运算符

身份运算符用于比较两个对象的内存地址是否相同,即判断两个对象是否是同一个对象。Python中的身份运算符包括**is is not**。下面是详细全面的代码示例:

复制代码
# 示例1:比较变量和值
x = 10
y = 10
z = x

print(x is y)   # 输出 True,因为x和y指向相同的整数对象10
print(x is z)   # 输出 True,因为x和z指向相同的整数对象10
print(x is not y)   # 输出 False,因为x和y指向相同的整数对象10

# 示例2:比较列表
list1 = [1, 2, 3]
list2 = [1, 2, 3]
list3 = list1

print(list1 is list2)   # 输出 False,因为list1和list2虽然内容相同,但指向不同的列表对象
print(list1 is list3)   # 输出 True,因为list1和list3指向相同的列表对象
print(list1 is not list2)   # 输出 True,因为list1和list2指向不同的列表对象

# 示例3:比较字符串
str1 = "hello"
str2 = "hello"
str3 = str1

print(str1 is str2)   # 输出 True,因为str1和str2指向相同的字符串对象
print(str1 is str3)   # 输出 True,因为str1和str3指向相同的字符串对象
print(str1 is not str2)   # 输出 False,因为str1和str2指向相同的字符串对象

这些示例展示了如何使用身份运算符**is is not**来比较对象的内存地址,以确定它们是否是同一个对象。

8、来一道简单题目练练手

题目: 编写一个程序,接受用户输入的一个年份,判断这个年份是否为闰年。闰年的判断规则为:能被4整除但不能被100整除,或者能被400整除的年份为闰年。

示例代码:

复制代码
# 接受用户输入的年份
year = int(input("请输入一个年份:"))

# 判断是否为闰年
is_leap_year = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)

#前面两行代码 是金天我学习的内容

#流程控制
# 输出结果
if is_leap_year:
    print(year, "年是闰年")
else:
    print(year, "年不是闰年")

总结

在学习Python爬虫基础中的运算符部分,我们探讨了Python中常用的运算符,包括算术运算符、赋值运算符、比较运算符、逻辑运算符和位运算符。这些运算符是Python编程中的基础,掌握它们对于编写爬虫程序和处理数据非常重要。

通过本次学习,我们深入了解了各种运算符的用法和特点,学会了如何在Python中使用运算符进行数值计算、变量赋值、逻辑判断等操作。同时,我们也通过实例演示了这些运算符在爬虫中的实际应用,希望能够帮助大家更好地理解和掌握。

在学习过程中,可能会遇到一些困难和挑战,但只要坚持不懈、持续学习,一定能够掌握Python编程的技巧和方法。希望大家能够将所学知识运用到实际项目中,不断提升自己的编程能力和解决问题的能力。感谢大家的参与和支持,希望我们能够在未来的学习中取得更大的进步!

相关推荐
AC赳赳老秦16 分钟前
OpenClaw+Power Apps 实战:自动生成 Power Apps 应用、连接 Excel 数据源
大数据·开发语言·python·serverless·excel·deepseek·openclaw
提笔了无痕18 分钟前
如何用Go实现整套RAG流程
开发语言·后端·golang
(Charon)20 分钟前
【C++ 面试高频基础:指针、引用、const、static、new/delete 总结】
java·开发语言
2601_961875241 小时前
法考考试时间安排及科目|时间表|资料已整理
开发语言·c#·inverted-index·suffix-tree·sstable·r-tree·lsm-tree
AI科技星1 小时前
数术工坊第八卷:算力革命
c语言·开发语言·网络·量子计算·agi
geovindu1 小时前
go: Generators Pattern
开发语言·后端·设计模式·golang·生成器模式
茉莉玫瑰花茶2 小时前
综合案例 - AI 智能租房助手 [ 5 ]
服务器·数据库·人工智能·python·ai
文艺倾年2 小时前
【强化学习】强化学习基本概念,20W字总结(一)
人工智能·python·语言模型·自然语言处理·面试·职场和发展·大模型
宸丶一2 小时前
Day 13:持久化记忆 - 让 Agent 拥有长期记忆
jvm·python·ai
码云骑士2 小时前
13-列表append的底层真相(上)-listobject源码中的预分配策略
开发语言·python