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

文章目录

逻辑语句

熟悉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__()方法(部分代码):

相关推荐
叫我:松哥3 分钟前
基于flask图书数据管理系统,技术栈flask+MySQL+boostrap
python·mysql·flask
wangchen_06 分钟前
PyTorch
人工智能·pytorch·python
wuyk5556 分钟前
《WiFi 嵌入式物联网开发全套实战》| 第01章 WiFi整体架构详解:BSS/ESS/AP/STA模式彻底区分
开发语言·stm32·单片机·嵌入式硬件·mcu·物联网·51单片机
wuyk55512 分钟前
第六章:CAN 调试工具、抓包分析、全套故障排查 + CAN-FD 进阶拓展
开发语言·stm32·单片机
卷无止境30 分钟前
Python的contextlib与 FastAPI 中的上下文管理
后端·python·fastapi
测试199837 分钟前
接口自动化测试的全面解析与实战指南
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
whcyhhh40 分钟前
头歌实践教学平台:数据科学与大数据技术导论(九上)
大数据·python
2501_9151063241 分钟前
Swift 开发环境搭建指南:三条路径按目标对号入座
开发语言·vscode·ios·objective-c·个人开发·swift·敏捷流程
卷无止境1 小时前
FastAPI Events 深度解析与工程实践
后端·python·fastapi
Mr. zhihao1 小时前
线上卡顿排查决策手册:场景 × 命令 × 现象 × 调整方案
java·开发语言·jvm