Python网络基础爬虫-python基本语法

文章目录

    • 逻辑语句
      • if,else,elif
      • for
      • while
      • 异常处理
    • 函数与类
      • def
      • pass
      • class

逻辑语句

熟悉C/C++语言的人们可能很希望Python提供switch语句,但Python中并没有这个关键词,也没有这个语句结构。但是可以通过if-elif-elif-…这样的结构代替,或者使用字典实现。比如:
在这里插入图片描述
这段代码实现的功能是,输入一个运算符,再输入两个数字,返回其计算的结果。比如输入“+12”,输出“3”。这里需要说明的是,input()是读取屏幕输入的方法(在python2中常用的raw_input()不是一个好选择),lambda关键字代表了Python中的匿名函数。

if,else,elif

与很多其他语言一样,Python也有自己的条件语句和循环语句。不过Python中的这些表示程序结构的语句并不需要用括(比如“{}”)括起来,而是以一个冒号作为结尾,以缩进作为语句块。if,else,elif关键词是条件选择语句的关键:
在这里插入图片描述|在这里插入图片描述

Python中的循环语句主要是两种,一种的标志是关键词for,一种的标志是关键词while。Python中的for接受可迭代对象(例如list或迭代器)作为其参数,每次迭代其中一个元素:

for

在这里插入图片描述
【提示】如果想要输出列表中的索引和对应的元素,除了上面这样的方法之外,还有更符合Python风格的用法,如enumerate方法等

while

while循环的形式如下:
在这里插入图片描述
语句while_suit_codes会被连续不断地循环执行,直到表达式的值为False,接着Python会执行下一句代码。在for循环和while循环中,我们也会使用到break和continue关键字,分别代表终止循环和跳过当下循环开始下一次循环:
在这里插入图片描述
说到循环,就不能不提列表解析(或者翻译为“列表推导”),在形式上,是将循环和条件判断放在了列表的“[]”初始化中。举个例子,构造一个包含10以内所有奇数的列表,使用for循环添加元素:
在这里插入图片描述
使用列表解析:
在这里插入图片描述
这种“推导”(解析)也适用于字典和集合。这里我们没有说“元组”,是因为元组的括号(圆括号)表示推导时会被Python识别为生成器,关于生成器的具体概念,可以见本书6.1.2节。一般如果需要快速构建一个元组,可以选择先进行列表推导,再使用“tuple()”将列表“冻结”为元组:
在这里插入图片描述

异常处理

Python中的异常处理也比较简单,核心语句是try…except…结构,可能触发异常产生的代码会放到try语句块里,而处理异常的代码会在except语句块里实现:
在这里插入图片描述
在这里插入图片描述
异常处理语句也可以写得非常灵活,比如同时处理多个异常:
在这里插入图片描述
在这里插入图片描述
有时候,在异常处理中我们会使用finally语句,而在finally语句下的代码块不论异常是否触发都将会被执行:
在这里插入图片描述

函数与类

def

在Python中,声明和定义函数使用def(代表“define”)语句,在缩进块中编写函数体,函数的返回值用return语句返回:
在这里插入图片描述
如果没有显式的return语句,函数会自动return None。另外,我们也可以使函数一次返回多个值,实质上是一个元组:
在这里插入图片描述

pass

对于我们暂时不想实现的函数,可以使用“pass”作为占位符,否则Python会对缩进的代码块报错:
在这里插入图片描述
pass也可用于其他地方,比如if 和 for循环:
在这里插入图片描述
在函数中可以设置默认参数:
在这里插入图片描述
当有说个默认参数时会自动按照顺序逐个传入,我们也可以在调用时指定参数名:
在这里插入图片描述

class

在Python中类使用“class”关键字定义:
在这里插入图片描述
定义好类后,就可以根据类创建出一个实例。在类中的函数一般称为方法,简单地说,方法就是与实例绑定的函数,和普通函数不同,方法可以直接访问或操作实例中的数据。【提示】Python中的方法有实例方法、类方法、静态方法之分,这部分是Python面向对象编程中的一个重点概念。但是这里为了简化说明,统一称之为“方法”或者“函数”。
类是Python编程的核心概念之一,这主要是因为“Python中的一切都是对象”,一个类可以写的非常复杂,下面的代码就是requests模块中Request类及其__init__()方法(部分代码):
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

挑战OpenAI的新模型免费上线,40%计算量性能逼近GPT-4

据介绍,Inflection-2.5 将强大的 LLM 能力与 Inflection 标志性的「同理心微调」结合在一起,兼具高情商与高智商,可联网获取事实信息,其性能可与 GPT-4、Gemini 等领先大模型相媲美。 本周四,美国 AI 创业公司 Inflection AI 正式发布新一代大语言模型 Inflection-2.5。 …

福派斯猫粮的适口性有何特点?

亲爱的朋友们,今天我想和大家分享一下福派斯猫粮的适口性特点。作为一位养猫多年的铲屎官,我深知猫粮的适口性对于猫咪的健康和幸福是多么重要。那么,福派斯猫粮在这方面究竟有何独到之处呢? 1️⃣ 首先,福派斯猫粮的口…

分类预测 | Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据分类预测

分类预测 | Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据分类预测 目录 分类预测 | Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 GSWOA-KELM分类&#xff0…

sqllab第十九关通关笔记

知识点: 错误注入 最大长度为32位;如果目标长度>32时,需要利用截取函数进行分段读取referer注入 insert语句update语句 通过admin admin进行登录发现页面打印除了referer字段的信息 这应该是一个referer注入 首先进行测试一下 构造payl…

Windows安装Kibana之保姆级教程

Kibana 安装 介绍:一款开源的数据分析和可视化平台,可对Elasticsearch 索引中的数据进行搜索、查看、交互操作;可理解为 Elasticsearch 的web管理后台 下载:点击https://www.elastic.co/cn/downloads/past-releases#kibana-->…

探索编程新纪元:Code GeeX、Copilot与通义灵码的智能辅助之旅

在人工智能技术日新月异的今天,编程领域的革新也正以前所未有的速度推进。新一代的编程辅助工具,如Code GeeX、Copilot和通义灵码,正在重塑开发者的工作流程,提升编程效率,并推动编程教育的普及。本文将深入探讨这三款…

2023 收入最高的十大编程语言

本期共享的是 —— 地球上目前已知超过 200 种可用的编程语言,了解哪些语言在 2023 为开发者提供更高的薪水至关重要。 过去一年里,DevJobsScanner 分析了来自地球各地超过 1000 万个开发职位空缺,辅助我们了解市场,以及人气最高…

SpringMVC请求、响应和拦截器的使用

SpringMVC请求 RequestMapping注解 RequestMapping注解的作用是建立请求URL和处理方法之间的对应关系 RequestMapping注解可以作用在方法和类上 1. 作用在类上:第一级的访问目录 2. 作用在方法上:第二级的访问目录 3. 细节:路径可以不编写…

基于大语言模型(LLM)的表格理解任务探索与实践

大语言模型(LLMs)的发展日新月异,为表格理解任务带来了新的可能性。表格理解任务,如基于表格的问答和表格事实验证,要求从自由形式的文本和半结构化的表格数据中提取深层次的语义信息。与泛化的文本推理任务不同&#…

外包干了5天,技术明显退步。。。。。

先说一下自己的情况,本科生,19年通过校招进入南京某软件公司,干了接近2年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试&…

深入理解TCP的四次分手过程

文章目录 深入理解TCP的四次分手过程四次分手的意义四次分手的工作原理四次分手的重要性实际应用中的考虑结论补充:TIME_WAIT在哪一步?TIME_WAIT状态的目的TIME_WAIT状态的影响 深入理解TCP的四次分手过程 在网络通信中,TCP(传输控制协议)确…

GoLang:云原生时代致力于构建高性能服务器的后端语言

Go语言的介绍 概念 Golang(也被称为Go)是一种编程语言,由Google于2007年开始设计和开发,并于2009年首次公开发布。Golang是一种静态类型、编译型的语言,旨在提供高效和可靠的软件开发体验。它具有简洁的语法、高效的编…

电商场景下 ES 搜索引擎的稳定性治理实践

继上文在完成了第一阶段 ES 搜索引擎的搭建后,已经能够实现对千万级别的商品索引的读写请求的支持。目前,单机房读流量在 500~1000 QPS 之间,写流量在 500 QPS 左右。 但随着业务的发展,问题也逐渐开始暴露&#xff0…

2.MongoDB与关系数据库对比

MongoDB的简单操作与比较 与关系数据库对比 MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。它们各有各的优点,来看看他们之…

AttributeError: cannot assign module before Module.__init__() call

原因 调用了自定义的类,但是在自定义的类的__init__函数下面没有写super( XXX, self ).init() 错误案例 import torch import torch.nn as nnclass SelfAttention(nn.Module):""" Self-Attention """def __init__(self, n_head, d…

海外媒体宣发套餐推广:如何选择最佳方案-华媒舍

在信息时代,传播和宣传已经成为各个行业发展的关键部分。尤其对于拓展国际市场的企业来说,海外媒体宣发更是至关重要。由于各种原因,很多企业在选择海外媒体宣发套餐时感到困惑。本文将为您介绍如何选择最佳的海外媒体宣发方案。 1.了解目标市…

mysql数据库备份学习笔记

数据库备份 方法1 物理备份:xtrabackup 方法2 逻辑备份 mysqldump 参考备份与恢复的方法: 【MySql】Mysql之备份与恢复_mysql数据库备份与还原-CSDN博客 可以借鉴的物理备份: 思路是 先做一次全量备份,然后每天做一次增量备份…

pta—剪切粘贴

使用计算机进行文本编辑时常见的功能是剪切功能(快捷键:Ctrl X)。请实现一个简单的具有剪切和粘贴功能的文本编辑工具。 工具需要完成一系列剪切后粘贴的操作,每次操作分为两步: 剪切:给定需操作的起始位置…

1.2 课程架构介绍:STM32H5 芯片生命周期管理与安全调试

1.2 课程架构介绍:STM32H5 芯片生命周期管理与安全调试 下面开始学习课程的第二节,简单介绍下STM32H5芯片的生命周期和安全调试,具体课程大家可以观看STM32官方录制的课程,链接:1.2. 课程架构介绍:STM32H5…

【爬虫开发】爬虫从0到1全知识md笔记第1篇:爬虫概述【附代码文档】

爬虫开发从0到1全知识教程完整教程(附代码资料)主要内容讲述:爬虫概述。selenium的其它使用方法。Selenium课程概要。常见的反爬手段和解决思路。验证码处理。chrome浏览器使用方法介绍。JS的解析。Mongodb的介绍和安装,小结。mongodb的简单使…