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编程的技巧和方法。希望大家能够将所学知识运用到实际项目中,不断提升自己的编程能力和解决问题的能力。感谢大家的参与和支持,希望我们能够在未来的学习中取得更大的进步!

相关推荐
前端不太难1 分钟前
RN 项目安全如何强化?(逆向、API安全、JS泄露)
开发语言·javascript·安全
小白学大数据2 分钟前
实时监控 1688 商品价格变化的爬虫系统实现
javascript·爬虫·python
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ3 分钟前
throw new Exception 如何指定返回code
java·开发语言
Darkershadow7 分钟前
Python学习之使用笔记本摄像头截屏
python·opencv·学习
ekprada10 分钟前
Day 40 深度学习训练与测试的规范写法
人工智能·python
fegggye11 分钟前
创建一个rust写的python库
开发语言·后端·rust
全靠bug跑13 分钟前
Spring Cloud Gateway 实战:统一鉴权与用户信息全链路透传
java·开发语言·gateway·拦截器
Blossom.1181 小时前
基于时序大模型+强化学习的虚拟电厂储能调度系统:从负荷预测到收益最大化的实战闭环
运维·人工智能·python·决策树·机器学习·自动化·音视频
往今~1 小时前
Matlab: 绘制GDS图纸
开发语言·matlab
深蓝海拓2 小时前
PySide6从0开始学习的笔记(四)QMainWindow
笔记·python·学习·pyqt