1 网络编程
http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
from urllib.request import urlopen
from urllib.parse import urlencode
url = 'http://118.24.3.40/api/user/login'
# res = urlopen(url) 发送的是get请求
# print(res.read().decode())
data = {'username':'niuhanyang','passwd':'aA123456'}
# res = urlopen(url,urlencode(data).encode()) #发送的是post请求,urlencode(data)将字典转换成k=v&k1=v1,再使用encode转换成二进制
# print(res.read().decode()) #再把获取的数据转换成字符串
import requests
url2 = 'http://118.24.3.40/api/user/stu_info'
# res = requests.get(url2,params={'stu_name':'小黑'}) #发送get请求,直接使用字典传入
# print(res.json()) #json直接把返回结果转成字典
url3 = 'http://118.24.3.40/api/user/login'
data = {'username':'niuhanyang','passwd':'aA123456'}
# res = requests.post(url3,data=data) #发送post请求,入参是字典类型的
# print(res.json())
url4='http://118.24.3.40/api/user/add_stu'
data = {
"name":"小黑111",
"grade":"天蝎座",
"phone":18312345678,
"sex":"男",
"age":28,
"addr":"河南省济源市北海大道32号"
}
# res = requests.post(url4,json=data) #入参是json类型的
# print(res.json())
url5='http://118.24.3.40/api/user/gold_add'
data = {'stu_id':15,'gold':200}
cookie = {'niuhanyang':'abd9a0995f4696e1a60133220b32037a'}
# res = requests.post(url5,data=data,cookies=cookie) #传cookie
# print(res.json())
url6='http://118.24.3.40/api/user/all_stu'
header = {'Referer':'http://api.nnzhp.cn/'}
# res = requests.get(url6,headers=header) #传header
# print(res.json()) #返回的是字典格式的数据
url7='http://www.nnzhp.cn'
# res = requests.get(url7)
# print(res.text) #返回的是字符串
#下载文件是二进制格式的,需要使用wb二进制方式写入到一个文件中去
url8='http://qiniuuwmp3.changba.com/1084511584.mp3'
# res = requests.get(url8)
# print(res.content) #返回的就是二进制的
# with open('魔鬼中的天使.mp3','wb') as fw: #wb写二进制格式的数据
# fw.write(res.content)
url9='https://aliimg.changba.com/cache/photo/855e5493-f018-44db-8892-c8660649327b_640_640.jpg'
res= requests.get(url9,verify=False) #verify=False如果是https的话需要添加这个参数
print(res.content)
with open('tupian.jpg','wb') as fw:
fw.write(res.content)
print(res.json()) #必须返回的是json猜可以用
print(res.text) #返回的是字符串类型,如果是下载文件text就不能使用
print(res.content) #用来下载文件用的,返回的是二进制格式
print(res.cookies) #获取到返回的所有cookie
print(res.headers) #获取到返回的所有header
#上传文件
url10 = 'http://118.24.3.40/api/file/file_upload'
data = {'file':open('魔鬼中的天使.mp3','rb')} #rb读取二进制文件
res = requests.post(url10,files=data) #上传文件使用files
print(res.json())
2 异常处理
money = 1000
num = input('please enter a num:')
try:
num = float(num)
res = money/num
except Exception as e: #如果预料不到异常可使用Exception来捕捉
print(e)
except ValueError as e: #出现异常了,就走except下面的代码
print('出现异常了')
print('你输入的价格不合法')
print(e)
except ZeroDivisionError as e:
print('除数不能为0')
else: #没有出现异常走else下面的代码
money -=num
print('你的余额是%s'%money)
print(num)
finally: #不管是否出错都会执行,这个在数据库中可用于关闭游标、连接使用
print('我是finally')
3 面向对象编程
self代表本类的对象,存的是实例化的内存地址
方法存到类的内存里,属性存到实例化对象内存里。