Python七(异常处理,好用的网络编程,不好用的网络编程,内置函数补充)

1,那只函数的补充,内容

 1 #zip
 2 li=['a','b','c','e','f']
 3 l2=[1,2,3]
 4 l3=['A','S','D']
 5 l4=['','','']
 6 #zip就是把两个list,合并到一起,如果想同时循环两个list的时候,
 7 for a,b,c,d in zip(li,l2,l3,l4):
 8     print(a,b,c,d)
 9 
10 #map 他是帮我们循环调用函数的
11 def my(num):
12     return str(num)
13 
14 lis=[1,2,3,4,5,6,7,8,9]
15 res=list(map(my,lis))
16 print(res)
17 
18 # filter 也是帮你循环调用函数的,过滤
19 def even(num):
20     if num%2==0:
21         return True
22     return False
23 lis=[1,2,3,4,5,6,7,8,9]
24 res= filter(even,lis)
25 print(list(res))#filter只保留,返回数据为真的数据
26 res2 = map(even,lis)
27 print(list(res2))#map是帮你循环调用函数,这个函数返回就保存什么

2.异常处理:

 1 first = input('请输入除数:')
 2 second = input('请输入被除数:')
 3 try:
 4     first=int(first)
 5     second=int(second)
 6     res = first/second
 7     li = [1,2,3,4]
 8     print(li[9])
 9 # except ValueError as e:#e代表错误信息,如果上面的两行代码出现了ValueError错误就走下面
10 #     print(e)
11 #     print('请输入整数')
12 # except ZeroDivisionError as e:
13 #     print('除数不能为零')
14 except Exception as e:#代码异常的时候走这里
15     print(e)
16     print('出错了')
17 else:#没出现异常走这里,不是必须写的,可以直接鞋上面直接输出即可
18     print('没有异常')
19     print(res)
20 
21 finally:#不管出错还是不出错都会执行,不是必须写的
22     print('我是finally')

3.好用的网络编程

首先需要通过命令安装pip  install  requests

 1 import requests
 2 
 3 #1.发送get请求
 4 url = 'http://api.nnzhp.cn/api/user/stu_info'
 5 data = {'stu_name':'小黑'}#请求参数
 6 req=requests.get(url,params=data)#发送get请求
 7 print(req.json())#字典类型
 8 print(req.text)#返回的是json串
 9 
10 #2.发送post请求
11 url = 'http://api.nnzhp.cn/api/user/login'
12 data = {'username':'yjy12345','passwd':'aA123456'}#请求参数
13 req=requests.post(url,data)#发送post请求
14 print(req.json())
15 
16 #3.入参是json类型
17 import random
18 phone = random.randint(10000000000,99999999999)
19 url = 'http://api.nnzhp.cn/api/user/add_stu'
20 data =  {
21     "name":"小yu",
22     "grade":"天蝎座",
23     "phone":phone,
24     "sex":"",
25     "age":28,
26     "addr":"河南省济源市北海大道32号"
27   }
28 req=requests.post(url,json=data)
29 print(req.json())
30 
31 #4.添加cookie的
32 url = 'http://api.nnzhp.cn/api/user/gold_add'
33 data =  {
34     "stu_id":468,
35     "gold":100
36   }
37 cookie = {'niuhanyang':'337ca4cc825302b3a8791ac7f9dc4bc6'}
38 req=requests.post(url,data,cookies=cookie)
39 print(req.json())
40 #5.添加header
41 
42 url = 'http://api.nnzhp.cn/api/user/all_stu'
43 header =  {'Referer':'http://api.nnzhp.cn/'}
44 req=requests.get(url,headers=header)
45 print(req.json())
46 
47 #6.上传文件
48 url = 'http://api.nnzhp.cn/api/file/file_upload'
49 # data =  {'file':open('baidu.html',encoding='utf-8')}#上传文件
50 data =  {'file':open(r'D:\用户目录\我的图片\240425-12101219332061.jpg','rb')}#上传图片用rb模式
51 req=requests.post(url,files=data)
52 print(req.json())
53 
54 #7.下载文件,图片,歌曲
55 url='http://www.nnzhp.cn/wp-content/uploads/2018/01/soup.jpg'
56 req = requests.get(url)
57 print(req.content)#返回一个二进制的
58 fw=open('s.jpg','wb')
59 fw.write(req.content)

稍微不用使用,但也能实现功能的网络编程

 1 #这个模块不好用
 2 from urllib import request,parse
 3 url = 'http://www.nnzhp.cn'
 4 req=request.urlopen(url)#打开一个url,发get请求
 5 content=req.read().decode()#获取返回结果
 6 fw=open('baidu.html','w',encoding='utf-8')
 7 fw.write(content)
 8 # 打开一个接口,这个是get请求
 9 import json
10 url = 'http://api.nnzhp.cn/api/user/stu_info?stu_name=xiaohei'
11 req = request.urlopen(url)
12 content = req.read().decode()
13 res_dic=json.loads(content)#把返回的结果转为字典
14 if res_dic.get('error_code')==0:
15     print('测试通过')
16 else:
17     print('测试失败',res_dic)
18 
19 
20 url = 'http://api.nnzhp.cn/api/user/login'
21 data = {
22     'username':'admin',
23     'passwd':'aA123456'
24 }#请求数据
25 data=parse.urlencode(data)#urlencode自动帮你拼好参数
26 req=request.urlopen(url,data.encode())#发送post请求
27 print(req.read().decode())

 

posted @ 2018-05-17 14:47  whereis  阅读(270)  评论(0编辑  收藏  举报