python基础学习7-网络编程、异常处理、面向对象

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代表本类的对象,存的是实例化的内存地址

 

方法存到类的内存里,属性存到实例化对象内存里。

原文地址:https://www.cnblogs.com/better0903/p/9383537.html