python自(2)切片 字典 遍历删除添加修改查询定义函数函数返回值作用域序列化异常报错urllib使用一个类型六个方法下载 视频音频图片

切片

# # 切片# s = 'hello word'# # 下标索引为0的
# print(s[0]) #h# # 左闭右开  (左是下标开始的,右是几个索引值)例如从0开始算 4个索引值
# print(s[0:4]) #hell# # 更改起始值的开始位置
# print(s[1:]) #ello word# # 下标结束位置
# print(s[:5]) #hello# #从下标为0的位匿开始到下标为6的位置结束每次增长2个长度
# print(s[0:6:2]) #hlo

字典 遍历  删除 添加  修改 查询


# 字典查询
# preson = {'name':'周阿狗' ,'age':18}
# # 查询方式
# print(preson['name']) #周阿狗   直接打印name的值
# print(preson.get('age')) #18    可以使用get获取值
# # print(preson["sex"])  #报错 因为没有sex KeyError: 'sex'# 字典修改  preson['name'] 选的有的数据进行修改   没有的就是添加 有的就是修改
# preson = {'name':'周阿狗' ,'age':18}
# print(preson)  #{'name': '周阿狗', 'age': 18}
# preson['name'] = '张三'
# print(preson)  #{'name': '张三', 'age': 18}# # 字典添加  preson['sex']没有的进行添加  没有的就是添加 有的就是修改
# preson = {'name':'周阿狗' ,'age':18}
# print(preson)  #{'name': '周阿狗', 'age': 18}
# preson['sex'] = '男'
# print(preson)  #{'name': '周阿狗', 'age': 18, 'sex': '男'}
# preson['name'] = '张三'
# print(preson)  #{'name': '张三', 'age': 18, 'sex': '男'}# # 字典删除  del不可以删除对象(preson)  clear 删除全部但是保留对象(括号)
# preson = {'name':'周阿狗' ,'age':18}
# print(preson)  #{'name': '周阿狗', 'age': 18}
# del preson['age']
# print(preson)  #{'name': '周阿狗'}
#
# preson.clear() #删除全部但是保留括号
# print(preson)  #{}# # 字典遍历数据
# preson = {'name':'周阿狗' ,'age':18}
# print(preson)  #{'name': '周阿狗', 'age': 18}# # 遍历preson 的所有key值
# for key in preson.keys():
#     print(key)  # name  age# # 遍历preson 的所有value值
# for value in preson.values():
#     print(value)  # 周阿狗  18# # 遍历preson 的所有key  value值
# for key,value in preson.items():
#     print(key,value)  # name 周阿狗  age 18# # 遍历preson 的所有项值
# for item in preson.items():
#     print(item)  #('name', '周阿狗') ('age', 18)

 定义函数


# # 定义函数
# # 练习1
# def f1():
#     print('nihao')
#     print('woshixiaozhou')# # 调用函数
# f1()# # 练习2
# def sun():
#     a = 1
#     b = 2
#     c = a+b
#     print(c)# sun()# # 练习3
# def sun(a,b):  #(形参)
#     c = a+b
#     print(c)# # 实参
# sun(100,20)

函数返回值


# 函数返回值
# # 练习1
# def sun():
#     return '冰淇淋'
#
# # 把sun的返回值 赋值给food
# food = sun()
# # 打印的两种形式
# print(food)
# print(sun())# # 练习2
# def sun(a,b):  #(形参)
#     c = a+b
#     return c# # 把sun的返回值 赋值给food   要么赋值 输出新值
# food = sun(10,50)# # 打印的两种形式
# print(food)
# # 或者输出带值
# print(sun(10,50))

作用域 

# 作用域# 全局作用域
# a = 100
# def sun():
#  print(a)
#
# sun()#局部作用域
# def sun():
#  a = 120
#  print(a)
# sun()

序列化

异常报错

# 异常提示写法
# try:
#     可能出现的异常
# except 异常类型
#     友好提示# try:
#     fp = open('text.txt','r')  #打开这个文件
#     fp.read() #读取
# except FileNotFoundError:
#     print('没有这个')

 


urllib使用

# 引入 urllib
import urllib.request# 定义路径
url = 'https://baike.baidu.com/'# 模拟器像服务器端发送请求
response = urllib.request.urlopen(url)#(3)获取响应中的页面的源码content 内容的意思
# #read方法返回的是字书形式的二进制数据
# 故我们要孵=进制的数据转换为字符串
#二进制--》字符串  解码  decode('编码的格式')
# 获取相应源码
content = response.read().decode('utf-8')# 打印数据
print(content)

 

一个类型六个方法 


# 一个类型和六个方法
# import urllib.request
# # 定义路径
# url = 'https://baike.baidu.com/'
# 
# response = urllib.request.urlopen(url)# 一个类型和六个方法
# response 是  HTTPResponse
# print(type(response))   #<class 'http.client.HTTPResponse'># 按照一个字节一个字节的读  读取全部字节
# content = response.read()
# print(content)# 按照一个字节一个字节的读  read()可以写你要读取多少字节
# content = response.read(4)
# print(content)  #b'<!DO'# # 按照一个字节一个字节的读  readline()只能读取一行
# content = response.readline()
# print(content)  #b'<!DOCTYPE html>\n'# # 按照一个字节一个字节的读  readlines()读取全部
# content = response.readlines()
# print(content)  #b'<!DOCTYPE html>\n'# # 返回状态码  200就是成功返回
# print(response.getcode())  #200# # 返回路径
# print(response.geturl())  #https://baike.baidu.com/# # 获取状态信息
# print(response.getheaders())  #[('Content-Type', 'text/html; charset=UTF-8'),

下载 视频   音频   图片

# 下载
# import urllib.request# 下载网页
# 定义路径
# url = 'https://baike.baidu.com/'
# urllib.request.urlretrieve(url,'baike.html')# 下载图片
# https://img0.baidu.com/it/u=3021883569,1259262591&fm=253&fmt=auto&app=120&f=JPEG?w=1140&h=641
# url_img = 'https://lmg.jj20.com/up/allimg/4k/s/02/2109250006343S5-0-lp.jpg'
# urllib.request.urlretrieve(url_img,filename='lisa.jpg')# 下载视频
# https://vd2.bdstatic.com/mda-picyuf5c6sekhy5c/720p/h264/1694646650126259454/mda-picyuf5c6sekhy5c.mp4?v_from_s=hkapp-haokan-hbf&auth_key=1694690882-0-0-275f5e093e7c5d6af95b829765e00417&bcevod_channel=searchbox_feed&pd=1&cr=2&cd=0&pt=3&logid=1682821669&vid=1074113355220740733&klogid=1682821669&abtest=112751_3
# url_v = 'https://vd2.bdstatic.com/mda-picyuf5c6sekhy5c/720p/h264/1694646650126259454/mda-picyuf5c6sekhy5c.mp4?v_from_s=hkapp-haokan-hbf&auth_key=1694690882-0-0-275f5e093e7c5d6af95b829765e00417&bcevod_channel=searchbox_feed&pd=1&cr=2&cd=0&pt=3&logid=1682821669&vid=1074113355220740733&klogid=1682821669&abtest=112751_3'
# urllib.request.urlretrieve(url_v,'video.mp4')

图片 

视频

网页 

定制请求对象  是为了防止反爬

# 定制请求对象
import urllib.request
# 定义路径
url = 'https://baike.baidu.com/'# ua 请求头
headers ={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36 Edg/116.0.0.0"}# 并因为urlopen.方法中不能存储字典两以headers不能传递进去#请求对象的定刹
# #注意因为参数顺序的问题不能疸接写url 和headers中间还有data所以我们需要关键字传参
# 防止反爬 就要携带请求头 
request = urllib.request.Request(url = url ,headers = headers)# 模拟服务器发送请求
response = urllib.request.urlopen(request)# 读取html页面数据 获取相应源码
content = response.read().decode("utf8")
print(content)

请求quote


import urllib.request
import urllib.parse# 定义路径
url = 'https://baike.baidu.com/'#请求头
headers ={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36 Edg/116.0.0.0"
}#要搜索的对象
name = urllib.parse.quote('百度')#拼接路径
url = url + namerequest = urllib.request.Request(url=url,headers=headers)# 模拟服务器发送请求
response = urllib.request.urlopen(request)# 读取html页面数据 获取相应源码
content = response.read().decode("utf8")
print(content)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/108684.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu下Nginx配置ModSecurity详细思路及过程

下面是一个简介&#xff1a; Ubuntu是一个linux操作系统&#xff0c;Nginx是一个web服务器软件&#xff0c;ModSecurity是一款开源的web应用防火墙&#xff08;江湖人称“WAF”&#xff09;。 如果上面的概念没有一定的了解&#xff0c;下面的内容其实也能看。就是不好操作。…

短视频商城系统的技术架构与最佳实践

短视频商城系统的概念正在迅速崭露头角&#xff0c;它不仅融合了视频内容和电子商务&#xff0c;还需要一个坚固的技术架构来支持其功能。在本文中&#xff0c;我们将探讨构建短视频商城系统的关键技术组件以及最佳实践&#xff0c;并提供一些示例代码来说明这些概念。 技术架…

Vue3路由

文章目录 Vue3路由1. 载入vue-router 库2. 实例2.1 Vue.js vue-router 实现单页应用2.2 router-link创建链接2.3 router-view显示与url对应组件2.4 <router-link> 相关属性 Vue3路由 1. 载入vue-router 库 Vue.js 路由需要载入vue-router 库 安装直接下载地址&#xf…

Python web 框架web.py「简约美」

web.py is a web framework for Python that is as simple as it is powerful. web.py is in the public domain, you can use it for whatever purpose with absolutely no restrictions. web.py 是一个简单而强大的 Python Web 框架。web.py 属于公共领域&#xff0c;您可以…

PostgreSQL 数据备份恢复

文章目录 PostgreSQL 备份方式SQL备份&#xff08;逻辑备份&#xff09;文件系统备份&#xff08;物理备份&#xff09;归档备份&#xff08;物理备份&#xff09; 逻辑备份&恢复物理备份&恢复&#xff08;全量&#xff09;备份恢复 物理备份&恢复&#xff08;某个…

《C++ primer》练习3.17:改写单词为大写

最近看《C primer》&#xff0c;有这样一个题目 从cin读入一组词并把它们存入一个vector 对象&#xff0c;然后设法把所有词都改写为大写形式。输出改变后的结果&#xff0c;每个词占一行。 考察 怎么输入字符串怎么存入vector对象怎么对字符串字符处理 代码 #include <i…

【Unity编辑器扩展】| Inspector监视器面板扩展

前言【Unity编辑器扩展】| Inspector监视器面板扩展一、ContextMenu和ContextMenuItem二、Custom Editors 自定义编辑器三、Property Drawer 属性绘制器总结前言 前面我们介绍了Unity中编辑器扩展的一些基本概念及基础知识,还有编辑器扩展中用到的相关特性Attribute介绍。后面…

无涯教程-JavaScript - ISPMT函数

描述 ISPMT函数计算在特定投资期间支付的利息。提供此功能是为了与Lotus 1-2-3兼容。 语法 ISPMT (rate, per, nper, pv)争论 Argument描述Required/OptionalRateThe interest rate for the investment.RequiredPerThe period for which you want to find the interest, an…

nvue文件中@click.stop失效

在nvue文件中在子元素使用click.stop失效&#xff0c;父元素的事件触发了 在uniapp开发中nvue文件是跟vue文件是不一样的&#xff0c;就比如click.stop阻止点击事件继续传播就失效了&#xff0c;这时我们需要在子元素事件中添加条件编译&#xff0c;这样就会解决这个问题 // …

(09_13)杭州站|阿里云 Serverless 技术实践营(Serverless + 大数据)开启报名!

活动简介 “Serverless 技术实战与创新沙龙 ” 是一场以 Serverless 为主题的开发者活动&#xff0c;通过一个下午的时间增进对 Serverless 技术的理解&#xff0c;快速上手,活动受众以关注 Serverless 技术的开发者、企业决策人、云原生领域创业者为主&#xff0c;活动形式为…

解决: 使用html2canvas和print-js打印组件时, 出现空白页

如图所示: 当我利用html2canvas转换成图片后, 然后使用print-js打印多张图片, 会出现空白页 使用html2canvas和print-js打印组件的文章可参考这个: Vue-使用html2canvas和print-js打印组件 解决: 因为是使用html2canvas转换成图片后才打印的, 而图片是行内块级元素, 会有间隙…

【建议收藏】职场人口头和书面沟通必备词语,瞬间高大上

这年头&#xff0c;在职场不但要会做&#xff0c;还要会说。 会说还不能平铺直叙的说&#xff0c;还要能把普通的工作说出话来&#xff0c;这就需要一些“考究”的用词。尤其是在某些头部企业的带领下&#xff0c;业务不够、产品不行、解决方案不够新&#xff0c;就用华丽的辞…