Task5(2day)
- 类和对象 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。局部变量:定义在方法中的变量,只作用于当前实例的类。实例变量:在类的声明中,属性是用变量来表示的。这种变量就称为实例变量,是在类声明的内部但是在类的其他成员方法之外声明的。继承:即一个派生类(derived class)继承基类(base class)的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。例如,有这样一个设计:一个Dog类型的对象派生自Animal类,这是模拟"是一个(is-a)"关系(例图,Dog是一个Animal)。实例化:创建一个类的实例,类的具体对象。方法:类中定义的函数。对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
创建类使用 class 语句来创建一个新类,class 之后为类的名称并以冒号结尾
类的帮助信息可以通过ClassName.__doc__查看。class_suite 由类成员,方法,数据属性组成。
创建实例对象实例化类其他编程语言中一般用关键字 new,但是在 Python 中并没有这个关键字,类的实例化类似函数调用方式。以下使用类的名称 Employee 来实例化,并通过 init 方法接收参数。 - 正则表达式
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功能。compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。 - re模块 re.findall() 查找字符从字符串中找出符合模式的字符序列:findall(模式(正则表达式),目标字符串),
返回值为list类型,list元素为匹配出的各个字符串 re.sub()正则替换,替换字符re.sub(要替换的字符,替换后字符,目标字符串,替换个数),返回值为替换后的字符串 re.match()和re.search() re.match()从字符串的起始位置匹配,若起始位置不符合正则表达式,则返回空 re.search()搜索整个字符串,返回第一个匹配的结果
两个函数若都能匹配到结果,那么返回的结果也是一个match对象
match对象的方法除了有group()之外还有span()方法,可以返回匹配结果的位置
而re.findall()方法就是把所有的匹配结果返回
- http请求
一、python自带库----urllib2
python自带库urllib2使用的比较多,简单使用如下:
import urllib2
response =
urllib2.urlopen(‘http://localhost:8080/jenkins/api/json?pretty=true’)
print response.read()
简单的get请求
复制代码
import urllib2
import urllib
post_data = urllib.urlencode({})
response =
urllib2.urlopen('http://localhost:8080/, post_data)
print response.read()
print response.getheaders()
复制代码
这就是最简单的urllib2发送post例子。代码比较多
二、python自带库–httplib
httplib是一个相对底层的http请求模块,urlib就是基于httplib封装的。简单使用如下:
复制代码
import httplib
conn =
httplib.HTTPConnection(“www.python.org”)
conn.request(“GET”,
“/index.html”)
r1 = conn.getresponse()
print r1.status, r1.reason
data1 = r1.read()
conn.request(“GET”,
“/parrot.spam”)
r2 = conn.getresponse()
data2 = r2.read()
conn.close()
复制代码
简单的get请求
我们再来看post请求
复制代码
import httplib, urllib
params = urllib.urlencode({’@number’:
12524, ‘@type’: ‘issue’, ‘@action’: ‘show’})
headers = {“Content-type”:
“application/x-www-form-urlencoded”,
“Accept”: “text/plain”}
conn =
httplib.HTTPConnection(“bugs.python.org”)
conn.request(“POST”,
“”, params, headers)
response = conn.getresponse()
data = response.read()
print data
conn.close()
复制代码
是不是觉得太复杂了。每次写还得再翻文档,看看第三种吧
三、第三方库–requests
发请get请求超级简单:
print
requests.get('http://localhost:8080).text
就一句话,再来看看post请求
payload = {‘key1’: ‘value1’, ‘key2’:
‘value2’}
r =
requests.post(“http://httpbin.org/post”, data=payload)
print r.text
也很简单。
再看看如果要认证:
url = ‘http://localhost:8080’
r = requests.post(url, data={},
auth=HTTPBasicAuth(‘admin’, ‘admin’))
print r.status_code
print r.headers
print r.reason
是不是比urllib2更简单多了吧,且requests自带json解析。这点非常棒
参考:https://www.runoob.com/python/python-strings.html
https://blog.csdn.net/sinat_34212400/article/details/79046301