1.函数剩余部分
#无参函数:不需要接受外部传入的参数 #有参函数:需要接受外部传入的参数,传参数多一不可,少一不可 #空函数:遇到一些比较难以实现的功能,会导致暂时无法继续编写代码,所以,一般在生产开发中,会将所有功能都先定义为空函数 #函数的返回值:在调用函数时,需要接受函数内部的产生结果,则用return接收 #函数对象:函数名指向的内存地址 #函数嵌套: #(1)嵌套定义:在函数内定义函数 #(2)嵌套调用:通过函数内部的函数值,调用函数
#名称空间:python解释器自带的:内置名称空间 #自定义的py文件中,顶着最左边定义的,全局名称空间 #函数内部定义的:局部名称空间
#无参函数def foo(): print('from foo')foo()#有参函数def login(user,pwd): print(user,pwd)login('lee',111)def max(x,y): if(x>y): print(x) else: print(y)max(10,20)#空函数def func(): pass #什么都不做func()#函数的返回值def max(x,y): if(x>y): return x else: return yres=max(10,20)print(res)#函数对象def func(): pass #什么都不做print(func())func()def func2(): pass#把函数对象放入字典中#若用户选择对应的key值,就调用函数dict1={'1':func,'2':func2}choice=input('输入功能标号:').strip()if choice in dict1: dict1[choice]#嵌套定义:def func(): print('func') def func2(): print('func2') def func3(): print('func3')#嵌套调用:def func(): print('func') def func2(): print('func2') def func3(): print('func3') return func3 func3() return func2 func2()func()func2=func()func3=func2()func3()
#名称空间name='lee'def func(): name='lee' print(name) def func2(): print(name)func()
2.内置模块
#内置模块 ''' 1.time 2.json 3.os 4.sys '''
#1.time模块import time#获取时间戳print(time.time())#等待time.sleep(1) #等待10秒print(time.time())#3.0s模块import os#判断输入的文件是否存在print(os.path.exists('01.py'))#判断其绝对路径print(os.path.exists('D:\pycharm\B\a.py'))#获取当前文件根目录#print(os.path.dirname())#4.sys模块import sys#获取Python在环境变量中的文件路径print(sys.path)
#2.json模块import jsonuser_info={'name':'lee','age':18,'sex':'male'}#dumps:序列化#1.把字典转行成json数据#2.把json数据转成字符串res=json.dumps(user_info)print(res)print(type(res))with open('user.txt','wt',encoding='utf-8')as f: f.write(res)#json.loads():反序列化#1.把json文件读取到内存#2.loads把json格式的字符串转换成dict类型with open('user.txt','r',encoding='utf-8')as f: res=f.read()user_dict=json.loads(res)print(user_dict)print(type(user_dict))#json.dump():自带write功能,直接传入文件句柄即可,自动触发write方法with open('user_info.json','wt',encoding='utf-8')as f: json.dump(user_info,f)#json.load():with open('user_info.json','r',encoding='utf-8')as f: user_dict1=json.load(f) print(user_dict1)
3.模块与包
#import 模块名import B#from#导入B模块中的a文件#自动执行a中的代码#from B import afrom B import a#_name_=B.a#a
4.爬虫基础知识
#'''http协议: 请求URL: http://www.baidu.com/ 请求方式: GET 请求头: Cookie:可能需要关注 User_agent:证明你是浏览器,而非机器人 注意:去浏览器的requests headers 中查找 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36 OPR/60.0.3255.151 Host:www.baidu.com'''#requests模块使用#pip3 install requests#pip3 install -i 清华园地址 模块名#pip3 install -i http://pypi.tuna.tsinghua.edu.cn/simple resquests'''import requestsresponse=requests.get(url='http://www.baidu.com/')response.encoding='utf-8'print(response) #print(response.status_code) #返回响应状态码print(response.text) #返回相应文本print(type(response.text))with open('baidu.html','w',encoding='utf-8')as f: f.write(response.text)'''#爬取梨视频import requestsres=requests.get(url='https://video.pearvideo.com/mp4/adshort/20190613/cont-1565846-14013215_adpkg-ad_hd.mp4')print(res.content)with open('视频.mp4','wb')as f: f.write(res.content)