【Python基础第8期】任务5打卡

本文深入探讨Python中的类与对象概念,详解正则表达式的使用技巧,及其实现HTTP请求的方法,适合Python进阶学习者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【Python基础第8期】任务5打卡

1)类和对象
2)正则表达式
3)re模块
4)http请求

类和对象

在Python中,定义类是通过class关键字:

class Student(object):
pass
class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的,继承的概念我们后面再讲,通常,如果没有合适的继承类,就使用object类,这是所有类最终都会继承的类。

定义好了Student类,就可以根据Student类创建出Student的实例,创建实例是通过类名+()实现的:

bart = Student()
bart
<main.Student object at 0x10a67a590>
Student
<class ‘main.Student’>

正则表达式

字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。

正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。

所以我们判断一个字符串是否是合法的Email的方法是:

创建一个匹配Email的正则表达式;

用该正则表达式去匹配用户的输入来判断是否合法。
因为正则表达式也是用字符串表示的,所以,我们要首先了解如何用字符来描述字符。

在正则表达式中,如果直接给出字符,就是精确匹配。用\d可以匹配一个数字,\w可以匹配一个字母或数字,所以:

‘00\d’可以匹配’007’,但无法匹配’00A’;

‘\d\d\d’可以匹配’010’;

‘\w\w\d’可以匹配’py3’;

.可以匹配任意字符,所以:

'py.‘可以匹配’pyc’、‘pyo’、'py!'等等。

re模块

安装requests
如果安装了Anaconda,requests就已经可用了。否则,需要在命令行下通过pip安装:

$ pip install requests
如果遇到Permission denied安装失败,请加上sudo重试。

使用requests
要通过GET访问一个页面,只需要几行代码:

import requests
r = requests.get(‘https://www.douban.com/’) # 豆瓣首页
r.status_code
200
r.text
r.text
‘\n\n\n<meta name=“description” content="提供图书、电影、音乐唱片的推荐、评论和…’

http请求

urllib提供了一系列用于操作URL的功能。

Get
urllib的request模块可以非常方便地抓取URL内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应:

例如,对豆瓣的一个URLhttps://api.douban.com/v2/book/2129650进行抓取,并返回响应:

from urllib import request
with request.urlopen(‘https://api.douban.com/v2/book/2129650’) as f:
data = f.read()
print(‘Status:’, f.status, f.reason)
for k, v in f.getheaders():
print(’%s: %s’ % (k, v))
print(‘Data:’, data.decode(‘utf-8’))

Post
如果要以POST发送一个请求,只需要把参数data以bytes形式传入。

Handler
如果还需要更复杂的控制,比如通过一个Proxy去访问网站,我们需要利用ProxyHandler来处理.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值