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中的成员运算符包括**innot 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'是字典的一个值

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

7、身份运算符

身份运算符用于比较两个对象的内存地址是否相同,即判断两个对象是否是同一个对象。Python中的身份运算符包括**isis 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指向相同的字符串对象

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/488734.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

GitHub加速访问最简单的方法

Github是全球最大的代码开源平台&#xff0c;对于编程的小伙伴来说&#xff0c;这是一个巨大的宝库&#xff0c;也是编程学习的圣地。很对小伙伴在使用GitHub时会经常出现无法访问Github的情况。 一、解决方法——>修改hosts文件 通过 IP查询工具来获取当前Github网站的真实…

全民采矿石赚钱小程序源码,附带详细搭建教程

安装教程 1、环境用宝塔Nginxphp7.0或者以下版本 2、可以更换各种模板&#xff0c;懂代码和标签的可以改模板&#xff0c;不懂的可以直接上站 3、上站前记得添加关键词和内容库 4、伪静态在绑定完百度站长之后再添加 目录说明&#xff1a; data/keyword 放关键词 标签&#xff…

【扩散模型】论文精读:Denoising Diffusion Probabilistic Models(DDPM)

文章目录 前言Abstract1 Introduction2 Background3 Diffusion models and denoising autoencoders3.1 Forward process and LT3.2 Reverse process and L1:T −13.3 Data scaling, reverse process decoder, and L03.4 Simplified training objective 4 Experiments4.1 Sample…

C语言: 指针讲解

为什么需要指针? &#xff08;1&#xff09;指针的使用使得不同区域的代码可以轻易的共享内存数据。当然你也可以通过数据的复制达到相同的效果&#xff0c;但是这样往往效率不太好&#xff0c;因为诸如结构体等大型数据&#xff0c;占用的字节数多&#xff0c;复制很消耗性能…

Linux-进程控制(进程创建、进程终止、进程等待)

一、进程创建 1.1 fork函数介绍 在命令行下我们可以通过 ./ exe文件 来创建一个进程&#xff0c;通过fork函数&#xff0c;我们可以通过代码的形式从一个进程中创建一个进程&#xff0c;新进程为子进程&#xff0c;原进程为父进程&#xff0c;子进程在创建时&#xff0c;会与…

软件项目-详细设计说明书范文参考(46页Word原件)

一、 关于本文档 &#xff08;一&#xff09; 编写目的 &#xff08;二&#xff09; 预期读者 二、 项目概要 &#xff08;一&#xff09; 建设背景 &#xff08;二&#xff09; 建设目标 &#xff08;三&#xff09; 建设内容 三、 总体设计 &#xff08;一&#xff0…

git基础-撤销操作

撤销操作 在任何阶段&#xff0c;我们都可能希望撤消某些操作。在这里&#xff0c;我们将回顾一些基本工具&#xff0c;用于撤消之前所做的更改。操作要谨慎&#xff0c;因为这些撤销可能无法修复。这是 Git 中为数不多的几个领域之一由于操作不当&#xff0c;导致丢失一些工作…

一篇文章,告别Flutter状态管理争论,问题和解决

起因 每隔一段时间&#xff0c;都会出现一个新的状态管理框架&#xff0c;最近在YouTube上也发现了有人在推signals, 一个起源于React的状态管理框架&#xff0c;人们总是乐此不疲的发明各种好用或者为了解决特定问题而产生的方案&#xff0c;比如Bloc, 工具会推陈出新&#x…

JavaParser 手动安装和配置

目录 前言 一、安装 Maven 工具 1.1 Maven 软件的下载 1.2 Maven 软件的安装 1.3 Maven 环境变量配置 1.4 通过命令检查 Maven 版本 二、配置 Maven 仓库 2.1 修改仓库目录 2.2 添加国内镜像 三、从 Github 下载 JavaParser 3.1 下载并解压 JavaParser 3.2 从路径打…

手摸手教你安装使用nvm(简单明了)

1.nvm定义 &#xff08;node.js version management&#xff09; nvm是node版本管理工具&#xff0c;通过nvm可以安装和切换不同版本的node.js 2.卸载之前安装的node 打开系统的控制面板&#xff0c;点击卸载程序&#xff0c;卸载nodejs 提示&#xff1a;如果你没有安装过…

【使用postman发送post请求】

1&#xff09;post http://ip:8090/version?appVersion1.0.0&channelgoogle&platformandroid&deviceId90991c4465e1886a81b00dac855fe098&notice1 这样子选择json格式提交数据&#xff0c;可读性强 好处&#xff1a; 1.最大的好处莫过于我可以记录下来曾经做…

使用easyYapi生成文档

easyYapi生成文档 背景1.安装配置1.1 介绍1.2 安装1.3 配置1.3.1 Export Postman1.3.2 Export Yapi1.3.3 Export Markdown1.3.4 Export Api1.3.6 常见问题补充 2. java注释规范2.1 接口注释规范2.2 出入参注释规范 3. 特定化支持3.1 必填校验3.2 忽略导出3.3 返回不一致3.4 设置…

智慧医疗包括哪些方面?智慧医疗发展前景如何?

近年来&#xff0c;随着云计算、物联网&#xff08;internet of things&#xff0c;IOT&#xff09;、移动互联网、大数据、人工智能&#xff08;artificial intelligence&#xff0c;AI&#xff09;、5G网络、区块链等新一代信息技术的逐步成熟和广泛应用&#xff0c;信息化已…

HTML(二)

一、表格标签 1.1表格的主要作用 表格主要用于显示、展示数据&#xff0c;因为它可以让数据显示的非常的规整&#xff0c;可读性非常好。特别是后台展示数据的时候&#xff0c;能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的数据表现得很有条理。 1.2 表格的…

外地报医保怎么备案?异地就医备案流程是什么?

外地医疗保险如何办理&#xff1f; 外地医疗保险备案的具体流程可能因地区和医疗保险政策的不同而有所不同&#xff0c;但一般来说&#xff0c;可以通过以下方式进行备案&#xff1a; 1、网上备案&#xff1a;不少地区已经推出网上备案服务&#xff0c;可以通过当地医保局官网…

SQLServer SEQUENCE用法

SEQUENCE&#xff1a;数据库中的序列生成器 在数据库管理中&#xff0c;经常需要生成唯一且递增的数值序列&#xff0c;用于作为主键或其他需要唯一标识的列的值。为了实现这一功能&#xff0c;SQL Server 引入了 SEQUENCE 对象。SEQUENCE 是一个独立的数据库对象&#xff0c;用…

高等数学基础篇(数二)之微分方程(高阶线性微分方程)

高阶线性微分方程&#xff1a; 1.线性微分方程的解的结构 2.常系数齐次线性微分方程 3.常系数非齐次线性微分方程 4.欧拉方程 5.差分方程 目录 1.线性微分方程的解的结构 2.常系数齐次线性微分方程 3.常系数非齐次线性微分方程 4.欧拉方程 5.差分方程 1.线性微分方程…

【C++练级之路】【Lv.16】红黑树(冰与火的碰撞,红与黑的史诗)

快乐的流畅&#xff1a;个人主页 个人专栏&#xff1a;《C语言》《数据结构世界》《进击的C》 远方有一堆篝火&#xff0c;在为久候之人燃烧&#xff01; 文章目录 引言一、红黑树的概念二、红黑树的模拟实现2.1 结点2.2 成员变量2.3 插入情况一&#xff1a;uncle在左&#xff…

C++ STL- list 的使用以及练习

目录 0.引言 1. list 介绍 2. list 使用 2.1 构造函数 2.2 list iterator 的使用 3 list capacity 4. list element access 5. list modifiers 6. list 迭代器失效 7. list 与vector 对vector 8. OJ 题讲解 删除链表的倒数第 N 个节点&#xff1a; 0.引言 …

tcp/ip是什么意思,tcp/ip协议包含哪几层

TCP/IP是一种网络通信协议&#xff0c;它是互联网所采用的基本协议。TCP/IP协议是由美国国防部高级研究计划局&#xff08;ARPA&#xff09;在上世纪70年代设计开发的&#xff0c;经过多年发展和完善&#xff0c;已成为全球范围内最重要的网络通信协议之一。 首先&#xff0c;让…