Python基础学习5

1.类和对象

类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
其中,方法是类中定义的函数;类变量是类变量在整个实例化的对象中是公用的,类变量定义在类中且在函数体之外,类变量通常不作为实例变量使用;而实例变量是在类的声明中,属性是用变量来表示的,这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。
类的定义:

class 类名: 
def 方法1(self ,参数列表)
  pass
def 方法2(self ,参数列表)
  pass

类的专有方法:

函数描述
init构造函数,在生成对象时调用
del析构函数,释放对象时使用
repr打印,转换
len获得长度
cmp比较运算
call函数调用
add加运算
sub减运算
mul乘运算
truediv除运算
mod求余运算
pow乘方

2.正则表达式

正则表达式:本质上是一个微小的且高度专业化的编程语言。正则表达式并不是Python的一部分,它被嵌入到 Python中,Python自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。使用正则表达式,需要指定一些规则来描述希望匹配的字符串集合。这些字符串集合可能包含英语句子、 e-mail 地址,或任何字符串。

部分常用的匹配规则总结表

模式描述
\w匹配字母数字及下划线
\W匹配非字母数字及下划线
\s匹配任意空白字符,等价于 [\t\n\r\f]
\S匹配任意非空字符
\d匹配任意数字,等价于 [0-9]
\D匹配任意非数字
\A匹配字符串开始
\Z匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串
\z匹配字符串结束
\G匹配最后匹配完成的位置
\n匹配一个换行符

3.re模块

re 模块使 Python 语言拥有全部的正则表达式功能。
re.match函数
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none
函数语法:

re.match(pattern, string, flags=0)
参数描述
pattern匹配的正则表达式
string要匹配的字符串
flags标志位,用于控制正则表达式的匹配方式

re.search方法
re.search 扫描整个字符串并返回第一个成功的匹配
函数语法:

re.search(pattern, string, flags=0)
参数描述
pattern匹配的正则表达式
string要匹配的字符串
flags标志位,用于控制正则表达式的匹配方式

具体参考-https://www.runoob.com/python3/python3-reg-expressions.html

re库中常用方法

函数描述
re.match(pattern, string, flags=0)尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none
re.search(pattern, string, flags=0)扫描整个字符串并返回第一个成功的匹配
re.sub(pattern, repl, string, count=0)用于替换字符串中的匹配项,repl : 替换的字符串,也可为一个函数
re.compile(pattern[, flags])用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用
findall(string[, pos[, endpos]])在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表
re.split(pattern, string[, maxsplit=0, flags=0])能够匹配的子串将字符串分割后返回列表

4.datetime模块学习

参考-https://blog.csdn.net/qq_24753293/article/details/80954840
datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1.
datetime模块定义了5个类,分别是

  • datetime.date:表示日期的类
  • datetime.datetime:表示日期时间的类
  • datetime.time:表示时间的类
  • datetime.timedelta:表示时间间隔,即两个时间点的间隔
  • datetime.tzinfo:时区的相关信息
from datetime import date
from datetime import datetime
from datetime import time
from datetime import timedelta
from datetime import tzinfo
from datetime import *       #导入所有的类

datetime.date类
date类有三个参数,datetime.date(year,month,day),返回year-month-day

方法描述
datetime.date.ctime()返回格式如 Mon Aug 06 06:06:06 2019
datetime.date.fromtimestamp(timestamp)根据给定的时间戮,返回一个date对象;datetime.date.today()作用相同
datetime.date.isocalendar()返回格式如(year,month,day)的元组,(2019, 08, 12)
datetime.date.isoformat()返回格式如YYYY-MM-DD
datetime.date.isoweekday()返回给定日期的星期(1-7)星期一=1,星期日=7
datetime.date.replace(year,month,day)替换给定日期,但不改变原日期
datetime.date.weekday()返回日期的星期
datetime.date.strftime(format)把日期时间按照给定的format进行格式化

datetime的time类
time类有5个参数,datetime.time(hour,minute,second,microsecond,tzoninfo),返回08:29:30

方法描述
datetime.time.replace()替换时间
datetime.time.strftime(format)按照format格式返回时间
datetime.time.tzname()返回时区名字
datetime.time.utcoffset()返回时区的时间偏移量

datetime的datetime类
datetime类有很多参数,datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]),返回年月日,时分秒。

方法描述
datetime.datetime.now().date()返回当前日期时间的日期部分
datetime.datetime.now().time()返回当前日期时间的时间部分
datetime.datetime.now()返回当前系统时间
datetime.datetime.strftime()由日期格式转化为字符串格式
datetime.datetime.strptime()由日期格式转化为字符串格式

datetime的timedelta类
datetime.datetime.timedelta用于计算两个日期之间的差值

5.http请求

Python3处理HTTP请求的包:http.client、urllib、urllib3、requests其中,http 比较 low-level,一般不直接使用;urllib更 high-level一点,属于标准库。urllib3跟urllib类似,拥有一些重要特性而且易于使用,但是属于扩展库,需要安装;requests 基于urllib3 ,也不是标准库,但是使用非常方便。
使用的情况,非要用标准库,就使用urllib。如果没有限制,就用requests。
引用-https://blog.csdn.net/byweiker/article/details/79234853
Requests
各种请求方法

import requests
requests.post('http://httpbin.org/post')
requests.put('http://httpbin.org/put')
requests.delete('http://httpbin.org/delete')
requests.head('http://httpbin.org/get')
requests.options('http://httpbin.org/get')

1. 基本GET请求
GET: 请求指定的页面信息,并返回实体主体

import requests
response = requests.get('https://www.baidu.com/?tn=02049043_8_pg&ch=2')
print(response.text)

2.带参数的GET请求
将name和age传进去

import requests
response = requests.get("http://httpbin.org/get?name=germey&age=22")
print(response.text)

使用params的方法:


import requests
data = {
 'name': 'germey',
 'age': 22
}
response = requests.get("http://httpbin.org/get", params=data)
print(response.text)

3.解析json
将返回值已json的形式展示:

import requests
import json
response = requests.get("http://httpbin.org/get")
print(type(response.text))
print(response.json())
print(json.loads(response.text))
print(type(response.json()))

4.获取二进制数据
记住返回值.content

import requests
response = requests.get("https://github.com/favicon.ico")
print(type(response.text), type(response.content))
print(response.text)
print(response.content)

5.添加headers
有些网站访问时必须带有浏览器等信息,如果不传入headers就会报错

import requests
response = requests.get("https://www.zhihu.com/explore")
print(response.text)

6.基本POST请求
请求服务器接受所指定的文档作为对所标识的URI的新的从属实体

import requests
data = {'name': 'germey', 'age': '22'}
response = requests.post("http://httpbin.org/post", data=data)
print(response.text)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值