当前位置: 首页 > 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;输出不同的值 变量的声明 基本类型…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

cf2117E

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

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...