当前位置: 首页 > news >正文

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 的值变为 8y = 10
y -= 2  # y = y - 2,此时 y 的值变为 8z = 3
z *= 4  # z = z * 4,此时 z 的值变为 12a = 20
a /= 5  # a = a / 5,此时 a 的值变为 4.0b = 20
b %= 3  # b = b % 3,此时 b 的值变为 2c = 2
c **= 3  # c = c ** 3,此时 c 的值变为 8d = 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 = xprint(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 = list1print(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 = str1print(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编程的技巧和方法。希望大家能够将所学知识运用到实际项目中,不断提升自己的编程能力和解决问题的能力。感谢大家的参与和支持,希望我们能够在未来的学习中取得更大的进步!

相关文章:

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

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…...

Itextpdf电子签章

印章 印章是我国特有的历史文化产物&#xff0c;古代主要用作身份凭证和行驶职权的工具。它的起源是由于社会生活的实际需要。早在商周时代&#xff0c;印章就已经产生。如今的印章已成为一种独特的&#xff0c;融实用性和艺术性为一体的艺术瑰宝。传统的印章容易被坏人、小人…...

两台电脑简单的通信过程详解(经过两个路由器,不同网段)

一、eNSP拓扑图 二、配置4台电脑的IP地址、子网掩码、网关地址。 三、配置路由器 注意拓扑图的接口与本博客是否相符&#xff0c;判断以下命令中的ip是否需要修改。 1.AR1-接口对应IP <Huawei>sys #进入系统视图 [Huawei]int g0/0/0 #进入0/0/0接口 [Huawei-GigabitE…...

Java基于微信小程序的助农扶贫系统的研究与实现

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#…...

RocketMq方便测试,提供一个controller的接口,支持拉取消息,查看消息内容

通过一个REST API接口动态地启动RocketMQ的消费者&#xff0c;并基于传入的参数&#xff08;topicName&#xff0c;filterExpression&#xff0c;consumerGroupId&#xff09;决定要监听哪些消息。在Spring Boot项目中&#xff0c;这通常不是推荐的做法&#xff0c;因为消息消费…...

win10 下Msys2编译FFmpeg的流程方法

安装Msys MSYS2官网 安装... 将\msys64\usr\bin加入环境变量 Mysy2中输入 pacman –Syu pacman –Su pacman -S git patch unzip pacman -S mingw-w64-x86_64-toolchain pacman -S mingw-w64-x86_64-yasm pacman -S mingw-w64-x86_64-SDL2 pacman -S mingw-w64-x86_6…...

用 Delphi 做 FTP 服务器以及如何配置防火墙

使用 Delphi 的 TIdFTPServer 这个控件&#xff0c;做一个 FTP 服务器很简单。可以直接拿官方提供的 FTP Server 的那个 Demo 程序来修改。 本文主要描述如何配置服务器端防火墙 网络环境&#xff1a; 1. 客户端在路由器后面&#xff0c;局域网&#xff1b; 2. 服务器端在路…...

《SQL必知必会第五版》第十四章(组合查询)挑战题

1. 编写 SQL 语句&#xff0c;将两个 SELECT 语句结合起来&#xff0c;以便从 OrderItems表中检索产品 ID&#xff08;prod_id&#xff09;和 quantity。其中&#xff0c;一个 SELECT 语句过滤数量为 100 的行&#xff0c;另一个 SELECT 语句过滤 ID 以 BNBG 开头的产品。按产品…...

elasticsearch+kibana安装部分问题:

1.elasticsearch启动问题&#xff1a; 如果elasticsearch开启https登录则第一次启动的时候需要前台启动&#xff0c;前台启动的时候会自己创建相应的token等登录信息,如果是后台启动则没有这些登录信息&#xff1a; ./elasticsearch ━━━━━━━━━━━━━━━━━━━…...

Python---常用的web框架

目录 Django创建Django项目启动Django项目引入APP视图函数例如纯文本JSON格式数据重定向渲染页面返回错误提示 FlaskPyramidTornado Django 特点&#xff1a;Django是一个全功能的Web框架&#xff0c;提供了许多内置的功能和工具&#xff0c;如ORM、表单处理、认证等。它的设计…...

Jenkins Docker 部署指南

Jenkins Docker 部署指南 本文档为您提供了在 Docker 容器中部署 Jenkins 的全面指南&#xff0c;使用的是阿里云的容器镜像服务。请仔细遵循以下步骤以确保成功设置。 前提条件 主机上安装了 Docker。拥有阿里云容器镜像服务的账户。 部署步骤 1. 登录阿里云容器镜像服务…...

海外媒体宣发:商务视频推广数字化变革全解析-华媒舍

在当今数字化时代&#xff0c;商务视频推广正迎来一场革命性的数字化变革。本文将为您解析这场变革的核心元素和相关内容。 商务视频推广 商务视频推广是一种通过视频形式来宣传和推广产品、服务或品牌的方法。传统的推广方式主要是通过文字和图片进行&#xff0c;而商务视频推…...

文件服务: 功能介绍

文章目录 一、需求背景二、核心功能1、功能要求2、非工能要求 三、存储方式四、实现方式五、核心技术 一、需求背景 二、核心功能 1、功能要求 文件上传文件预览文件分片上传文件分片合并文件秒传文件断点续传文件下载 2、非工能要求 高扩展性&#xff1a;方便添加新的存储…...

php 快速入门(二)

一、运算符 1.1 算术运算符 运算描述举例加$a$b-减&#xff0c;负数功能$a-$b*乘$a*$b/除$a/$b%取余$a%$b <?php$s1 3;$s2 5;$res1 $s1$s2;$res2 $s1-$s2;$res3 $s1*$s2;$res4 $s1/$s2;$res5 $s1%$s2;echo $res1."<br>";echo "${res2}<b…...

java面试题|(1)多线程如何停止一个线程?

在Java中&#xff0c;停止一个线程的方法通常有以下几种&#xff1a; 使用标志位停止线程&#xff1a; 这是一种常见的做法&#xff0c;即通过设置一个标志位&#xff0c;在线程的执行体中检查这个标志位&#xff0c;当标志位满足某个条件时&#xff0c;退出线程执行。 class M…...

使用阿里CICD流水线打包Java项目到阿里的docker镜像私仓,并自动部署到服务器启动服务

文章目录 使用阿里CICD流水线打包Java项目到阿里的docker镜像私仓&#xff0c;并自动部署到服务器启动服务1、功能原理实现2、将自己的Java项目通过Git上传到阿里的代码仓库中&#xff0c;也可以通过绑定Gitee或者GitHub账号进行导入3、创建自己的阿里云镜像私仓3、进入阿里的C…...

Mybatis的核心配置文件

MyBatis的全局配置文件mybatis-config.xml&#xff0c;配置内容如下&#xff1a; properties&#xff08;属性&#xff09;settings&#xff08;全局配置参数&#xff09;typeAliases&#xff08;类型别名&#xff09;typeHandlers&#xff08;类型处理器&#xff09;objectFa…...

四川易点慧电子商务抖音小店:安全可靠,购物新选择

随着互联网的飞速发展&#xff0c;电子商务已成为人们日常生活中不可或缺的一部分。在众多电商平台中&#xff0c;四川易点慧电子商务抖音小店以其安全可靠、服务优质的特点&#xff0c;逐渐赢得了消费者的信赖和好评。 一、平台背景实力雄厚 四川易点慧电子商务有限公司是一家…...

基于数据沙箱与LLM用例自愈的UI自动化测试平台

本期作者 项目参与人员&#xff1a; 顾伊凡、陈钰广、张又中、杨雨浩、樊执政、熊梦园、何璇、谭楠 UI自动化测试能够在一定程度上确保产品质量&#xff0c;尤其在降本提效的大背景下&#xff0c;其重要性愈发凸显。理想情况下&#xff0c;UI自动化测试不仅能够能帮我们规避不少…...

面试算法-117-组合总和 III

题目 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回。 示例 1: 输入: k 3, n 7 输出: [[1,2,4…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...

多元隐函数 偏导公式

我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式&#xff0c;给定一个隐函数关系&#xff1a; F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 &#x1f9e0; 目标&#xff1a; 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z​、 …...