Day03
课堂笔记
函数剩余部分
#函数的三种定义方式 #无参函数 #不需要接收外部传入的参数 # def doo: # print('from foo..') # foo() #有参函数 #需要接收外部传入的参数 def login(user,pwd): print(user.pwd) # 传参多一不可少一不可 login('rt','123') # login('rt','123',111) # login('rt') # x=10 # y=20 # if x>y: # print(x) # else: # print(y) #比较两数大小 def max2(x,y): if x>y: print(x) else: print(y) max2(10,30) #空函数 # 遇到一些比较难实现的功能,会导致暂时无法继续编写代码。 # 所以一般在生产开发中,都会将所有功能实现定义成空函数。 def func(): pass #pass代表什么都不做 ''' 函数的返回值 ''' def max2(x,y): if x>y: return x else: return y res=max2(10,5) print(res) ''' 函数对象 指的是函数名指向的内存地址。 ''' def func(): pass # print(func) # <function func at 0x101dd2e18> # # func() def func2(): pass # 把函数对象,传入字典中 dict1 = { '1': func, '2': func2 } choice = input('请输入功能编号:').strip() if choice == '1': func() elif choice == '2': func2() # 若用户选择函数对象对应的key值,则调用该函数 if choice in dict1: dict1[choice]() # dict1['1'] ''' 嵌套定义函数嵌套: ''' # 函数嵌套定义 def func1(): print('func1...') def func2(): print('func2...') def func3(): print('func3...') return func3 return func2 # 通过函数内部的函数值,调用函数 func2=func1() func3=func2() func3() # 函数嵌套调用 def func1(): print('func1...') def func2(): print('func2...') def func3(): print('func3...') #... func3() func2() func1()
函数参数
''' 名称空间 python解释器自带的:内置名称空间 自定义的py文件内,顶着最左边定义的;全局名称空间 函数内部定义的:局部名称空间 ''' name='rt' def func1(): print(name) def func2(): print('func2...') print(name,'全局打印') func1()
内置模块
# #json import json # user_info={ # 'name':'rt', # 'pwd':'123' # # } # #dupms:序列化 # #1.把字典转化为json数据 # # 2.再把json数据转化为字符串 # res=json.dumps(user_info) # print(res) # print(type(res)) # # with open('user.json','wt',encoding='utf-8')as f: # f.write(res) # # #loads:反序列化 # #json.loads() # #1.把json文件的数据读到内存中 # with open('user.json','r',encoding='utf-8')as f: # res=f.read() # print(type(res)) # # user_dict=json.loads(res) # print(user_dict)#{'name':'rt','pwd':123'} # print(type(user_dict))#<class 'dict'> # #dump user_info={ 'name':'rt', 'pwd':'123' } with open('user_info.json','w',encoding='utf-8')as f: str1=json.dumps(user_info) f.write(str1) # json.dump(user_info,f) #load with open('user_info.json','r',encoding='utf-8')as f: # res=f.read() # user_dict=json.loads(res) # print(user_dict) #load:自动触发f.read user_dict=json.load(f) print(user_dict)
爬虫:
''' http协议 请求url: https://www.baidu.com/ 请求方式: GET 请求头: cookie:可能需要关注 user-Agent:用来证明你是浏览器 去浏览器的request header中查找 Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36 Host:www.baidu.com ''' # #requests模块使用 # import requests # # response=requests.get(url='https://www.baidu.com/')#往百度的网站里发送请求 # response.encoding='utf-8' # print(response) #<response[200]) # #返回响应状态码 # print(response.status_code) #200 # #返回响应文本 # #print(response.text) # print(type(response.text)) # # with open('baid.html','w',encoding='utf-8')as f: # f.write(response.text) #爬取梨视频 import requests res=requests.get('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)
今日作业
爬虫笑话网
import requests response=requests.get(url='https://www.xiaohua.com/detail/96604') response.encoding='utf-8' print(type(response.text)) with open('笑话.txt','w',encoding='utf-8')as f: f.write(response.text)
结果: