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

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__()方法(部分代码):
在这里插入图片描述
在这里插入图片描述

相关文章:

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

文章目录 逻辑语句if,else,elifforwhile异常处理 函数与类defpassclass 逻辑语句 熟悉C/C语言的人们可能很希望Python提供switch语句,但Python中并没有这个关键词,也没有这个语句结构。但是可以通过if-elif-elif-…这样的结构代替,或者使用字…...

产品推荐 - 基于星嵌 OMAPL138+国产FPGA的DSP+ARM+FPGA三核开发板

1 评估板简介 基于TI OMAP-L138(定点/浮点DSP C674xARM9) FPGA处理器的开发板; OMAP-L138是TI德州仪器的TMS320C6748ARM926EJ-S异构双核处理器,主频456MHz,高达3648MIPS和2746MFLOPS的运算能力; FPGA…...

【微服务学习笔记(一)】Nacos、Feign、Gateway基础使用

【微服务学习笔记(一)】Nacos、Feign、Gateway基础使用 总览Nacos安装配置Nacos注册中心服务多级存储模型负载均衡规则环境隔离 配置管理配置拉取配置热更新多服务共享配置 Feign远程调用配置性能优化Fegin使用 统一网关Gateway搭建网关路由断言工厂&…...

使用maven打生产环境可执行包

一、程序为什么要打包 程序打包的主要目的是将项目的源代码、依赖库和其他资源打包成一个可执行的文件或者部署包,方便程序的发布和部署。以下是一些打包程序的重要理由: 方便部署和分发:打包后的程序可以作为一个独立的实体,方便…...

springboot+ssm基于vue.js的客户关系Crm管理系统

系统包含两种角色:管理员、用户,主要功能如下。 ide工具:IDEA 或者eclipse 编程语言: java 数据库: mysql5.7 框架:ssmspringboot都有 前端:vue.jsElementUI 详细技术:springbootSSMvueMYSQLMAVEN 数据库…...

github 中的java前后端项目整合到本地运行

前言: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未…...

分布式ID(7):Zookeeper实现分布式ID生成

1 原理 实现方式有两种,一种通过节点,一种通过节点的版本号 节点的特性持久顺序节点(PERSISTENT_SEQUENTIAL) 他的基本特性和持久节点是一致的,额外的特性表现在顺序性上。在ZooKeeper中,每个父节点都会为他的第一级子节点维护一份顺序,用于记录下每个子节点创建的先后顺序…...

钉钉小程序 - - - - - 如何通过一个链接打开小程序内的指定页面

方式1 钉钉小程序 scheme dingtalk://dingtalkclient/action/open_mini_app?miniAppId123&pagepages%2Findex%2Findex%3Fx%3D%25E4%25B8%25AD%25E6%2596%2587 方式2 https://applink.dingtalk.com/action/open_mini_app?type2&miniAppIdminiAppId&corpIdcorpId&…...

Java代码基础算法练习---2024.3.14

其实这就是从我学校的资源,都比较基础的算法题,先尽量每天都做1-2题,练手感。毕竟离我真正去尝试入职好的公司(我指的就是中大厂,但是任重道远啊),仍有一定的时间,至少要等我升本之后…...

3月14日,每日信息差

🎖 素材来源官方媒体/网络新闻 🎄 5.5G通信网络在海南投入商用,较5G提升10倍 🌍 国务院批复同意,珠海港口岸将整合并扩大开放 🌋 同有科技:正在研究新型磁电存储技术 🎁 美国折扣零售…...

学习Android的第二十八天

目录 Android Service (服务) 线程 Service (服务) Service 相关方法 Android 非绑定 Service startService() 启动 Service 验证 startService() 启动 Service 的调用顺序 Android 绑定 Service bindService() 启动 Service 验证 BindService 启动 Service 的顺序 …...

C++等级3题

鸡兔同笼 #include<bits/stdc.h> using namespace std; void f(int n); int n; int main() {cin>>n;int x0;int ma-1;int mi1000;for(int i0;i<n;i){for(int j0;j<n;j){if(i*2j*4n){x1;mamax(ma,ij);mimin(mi,ij);}}}if(x1){cout<<mi<<" &…...

python中列表常用函数

列表list相关函数 列表相关函数 列表相关函数 汇总&#xff1a;. 列表: 1.list() 方法用于将序列&#xff08;元组&#xff0c;集合&#xff0c;字符串等&#xff09;转换为列表。 用法&#xff1a;list( seq ) #seq为序列&#xff1a;元组 集合 字符串等 2.列表定义&a…...

小程序连接蓝牙

小程序 蓝牙功能 1.授予蓝牙权限2.蓝牙初始化3.监听寻找新设备4.搜索新设备5.建立连接⭐⭐⭐⭐⭐⭐⭐6.监听蓝牙低功耗连接状态改变事件8.监听特征值变化9.发送数据 1.授予蓝牙权限 //1.蓝牙授权 const authBlue (callback, initApp) > {app initApp;//鉴定是否授权蓝牙w…...

基于Python的pygame库的五子棋游戏

安装pygame pip install pygame五子棋游戏代码 """五子棋之人机对战"""import sys import random import pygame from pygame.locals import * import pygame.gfxdraw from collections import namedtupleChessman namedtuple(Chessman, Name…...

【Java基础】IO流(二)字符集知识

目录 字符集知识 1、GBK字符集 2、Unicode字符集&#xff08;万国码&#xff09; 3、乱码 4、Java中编码和解码的方法 字符集知识 字符&#xff08;Character&#xff09;&#xff1a;在计算机和电信技术中&#xff0c;一个字符是一个单位的字形、类字形单位或符号的基本信…...

TimescaleDB 开源时序数据库

文章目录 1.TimescaleDB介绍2.Hypertable 和 chunk3.Hypertable4.Hypertable操作 开源中间件 # TimescaleDBhttps://iothub.org.cn/docs/middleware/ https://iothub.org.cn/docs/middleware/timescale/timescale-summary/1.TimescaleDB介绍 TimescaleDB是基于PostgreSQL数据…...

如何保证Redis和数据库数据一致性

缓存可以提升性能&#xff0c;减轻数据库压力&#xff0c;在获取这部分好处的同时&#xff0c;它却带来了一些新的问题&#xff0c;缓存和数据库之间的数据一致性问题。 想必大家在工作中只要用了咱们缓存势必就会遇到过此类问题 首先我们来看看一致性&#xff1a; 强一致性…...

css3常见选择器

使用工具 Visual Studio Code 1.CSS3基础选择器 1.1 标签选择器 1.2.1 标签选择器的语法 一个完整的HTML5页面是由很多不同的标签组成的&#xff0c;而标签选择器则决定标签应采用的CSS样式&#xff0c;语法如下:标签名{ 属性1&#xff1a;属性值1&#xff1b; 属性2&…...

List(CS61B学习记录)

问题引入 上图中&#xff0c;赋给b海象的weight会改变a海象的weight&#xff0c;但x的赋值又不会改变y的赋值 Bits 要解释上图的问题&#xff0c;我们应该从Java的底层入手 相同的二进制编码&#xff0c;却因为数据类型不同&#xff0c;输出不同的值 变量的声明 基本类型…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

oracle与MySQL数据库之间数据同步的技术要点

Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异&#xff0c;它们的数据同步要求既要保持数据的准确性和一致性&#xff0c;又要处理好性能问题。以下是一些主要的技术要点&#xff1a; 数据结构差异 数据类型差异&#xff…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...