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.rhkb.cn/news/132310.html

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

相关文章

DC/DC开关电源学习笔记(七)低压大电流DC/DC变换技术

低压大电流DC/DC变换技术 1. 无暂态要求的低压大电流DC/DC变换技术2. 负载极其快速变化的低压大电流DC/DC变换技术2.1 非隔离型 VRM2.2 隔离型VRM低压大电流高功率 DC/DC 变换技术,已从前些年的 3.3V 降至现在的 1.0V 左右,电流目前已可达到几十安至几百安。同时,电源的输出指标…

动态IP代理是什么?一文看懂动态代理IP

一、什么是动态IP代理&#xff1f; 动态IP代理是一种代理服务&#xff0c;而动态IP是由ISP动态分配给用户的IP地址&#xff0c;这些IP地址会周期性地更改。每次链接互联网时&#xff0c;用户会被分配一个新的IP地址&#xff0c;因而也称为”轮换IP”。 IP地址轮换是一个过程&…

9.8C++作业

1> 自行封装一个栈的类&#xff0c;包含私有成员属性&#xff1a;栈的数组、记录栈顶的变量 成员函数完成&#xff1a;构造函数、析构函数、拷贝构造函数、入栈、出栈、清空栈、判空、判满、获取栈顶元素、求栈的大小 #include <iostream>using namespace std;class…

释放数据价值这道难题,Smartbi V11有解

《未来简史》预言&#xff1a;数据将成为人们未来的信仰。 未来已来&#xff0c;将至已至。如今&#xff0c;数据所扮演的角色与作用超乎想象。从政府将数据要素列入生产要素之中&#xff0c;到数据驱动型业务场景涌现&#xff0c;企业与组织对于数据及其价值的认可度明显提升…

JUC相关面试题

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱发博客的嗯哼&#xff0c;爱好Java的小菜鸟 &#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44d;三连支持&#x1f44d;一下博主哦 &#x1f4dd;社区论坛&#xff1a;希望大家能加入社区共同进步…

二叉树题目:最大层内元素和

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;最大层内元素和 出处&#xff1a;1161. 最大层内元素和 难度 4 级 题目描述 要求 给定一个二叉树的根结点 ro…

前端vue按钮控制切换按钮是否禁用和颜色和显示隐藏,利用v-if和v-else

效果 未输入input前图片 输入input后图片 html (1) <input type"number" placeholder"请输入分润数量" placeholder-class"shareprofit_placeholder_num" v-model"money"> <!-- 金钱 --> {{money}} <!-- 可提现余额…

Generative Adversarial Nets

Author:龙箬 Computer Application Technology Change the World with Data and Artificial Intelligence ! CSDNweixin_43975035 生命不息&#xff0c;折腾不止 Reference&#xff1a; [1] Goodfellow, I, Pouget-Abadie, J, Mirza, M, Xu, B, Warde-Farley, D, Ozair, S, Co…

【绝㊙️】三年开发内功心得

经典嵌套if-else问题 这个也是老生常谈问题了&#xff0c;不管哪里都能看到。 那如何解决 方法一&#xff08;重要&#xff09;&#xff1a; 如果逻辑分支过多&#xff0c; 即使你不解决嵌套if-slse&#xff0c;至少也要把每个 if的{}里的逻辑抽到一个独立的方法或者工具类…

Vue中extend基本用法

1.Vue.extend(options) 参数: {Object} options用法&#xff1a; 使用基础Vue构造器&#xff0c;创建一个"子类"。参数是一个包含组件选项的对象。 data选项是特例&#xff0c;需要注意&#xff0c;在Vue.extend()中它必须是函数。 <html><head><tit…

Unity中Shader抓取屏幕并实现扭曲效果(优化)

文章目录 前言一、在之前顶点着色器的输入中&#xff0c;放弃了使用结构体传入&#xff0c;而是直接从应用程序阶段传入参数&#xff0c;这样写的话&#xff0c;对于程序来说&#xff0c;不方便扩张&#xff0c;所以需要对其进行修改实现1、定义结构体用于传入顶点坐标系2、因为…

离散数学 学习 之 一阶逻辑基本概念 ( 四 )

好好理解这个 代换实例&#xff0c;每个 谓词公式 都替换一个 命题公式 在蕴含式 中 &#xff0c;只有前式 为 假 &#xff0c;后式 为 真&#xff0c;这个式才是假的 &#xff0c;可以利用 这个进行判断 找个 成真解释 &#xff0c;找个 成假 解释 不能 替换 才去 找 解释 &…

C++信息学奥赛1171:大整数的因子

该程序是一个寻找能够整除输入数字的最小正整数的程序。下面是代码的逻辑解析&#xff1a; #include <iostream> #include <string> #include <cstring>using namespace std;int main() {string n; // 定义一个字符串变量nint fale 0; // 用于标记是否能…

C++学习笔记二(堆栈、指针、命名空间、编译步骤)

C 1、堆和栈2、指针2.1、指针的本质2.2、指针的意义2.3、清空指针2.4、常量指针和指针常量2.4.1、常量指针&#xff08;const int *p;&#xff09;2.4.2、指针常量&#xff08;int *const p;&#xff09; 2.5、C类中的this 3、malloc and new4、命名空间4.1、创建命名空间4.2、…

使用nvm管理node.js

使用nvm管理node.js 一、简介 nvm是一个node的版本管理工具。可以在多种系统上管理Node.js 版本的工具。使用 NVM&#xff0c;可以轻松地切换不同版本的Node.js&#xff0c;并方便地管理不同版本的全局包和本地包。 二、安装与下载 1.删除原有node.js 首先需要卸载已安装的…

[BJDCTF2020]ZJCTF,不过如此 preg_replace /e模式漏洞

目录 preg_replace的/e模式 为什么要变为 {${phpinfo()}} 另一个方法 版本 <?phperror_reporting(0); $text $_GET["text"]; $file $_GET["file"]; if(isset($text)&&(file_get_contents($text,r)"I have a dream")){echo &qu…

PlantUML——类图(持续更新)

前言 在分析代码流程中&#xff0c;我们常常会使用到各种UML图&#xff0c;例如用例图、时序图和类图等&#xff0c;以往使用ProcessOn或亿图图示等工具&#xff0c;但是这些工具难以规范化&#xff0c;有没有一种用代码来生成图形的工具呢&#xff1f; 刚好在出差的晨会中机缘…

SpringBoot入门

1.SpringBoot简介 1.1SpringBoot是什么&#xff1f; Spring Boot是基于Spring开发的全新框架&#xff0c;相当于对Spring做了又一层封装。 其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置&#xff0c;从而使开发人员不再需要定义样…

IO多路复用(select模型实现监控两个设备:自定义设备和鼠标设备)

1、驱动程序 #include <linux/init.h> #include <linux/module.h> #include <linux/cdev.h> #include <linux/fs.h> #include <linux/io.h> #include <linux/slab.h> #include <linux/wait.h> #include <linux/uaccess.h> #i…

4核8G服务器腾讯云CVM S5性能如何?CPU型号及租用价格

腾讯云4核8G服务器CVM标准型S5实例性能测评&#xff0c;包括CPU型号、内存、系统盘、CVM实例规格性能测评&#xff0c;腾讯云4核8G租用优惠价格表&#xff0c;腾讯云服务器网分享腾讯云4核8G服务器CVM S5性能测评和租用费用&#xff1a; 目录 腾讯云4核8G服务器CVM S5性能测评…