zoukankan      html  css  js  c++  java
  • 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代表本类的对象,存的是实例化的内存地址

     

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

  • 相关阅读:
    一行代码搞定Dubbo接口调用
    测试周期内测试进度报告规范
    jq 一个强悍的json格式化查看工具
    浅析Docker容器的应用场景
    HDU 4432 Sum of divisors (水题,进制转换)
    HDU 4431 Mahjong (DFS,暴力枚举,剪枝)
    CodeForces 589B Layer Cake (暴力)
    CodeForces 589J Cleaner Robot (DFS,或BFS)
    CodeForces 589I Lottery (暴力,水题)
    CodeForces 589D Boulevard (数学,相遇)
  • 原文地址:https://www.cnblogs.com/better0903/p/9383537.html
Copyright © 2011-2022 走看看