当前位置: 首页 > news >正文

5-什么是猴子补丁,有什么用途?什么是反射,python中如何使用反射?http和https的区别?

1 什么是猴子补丁,有什么用途

**解释**1 Python猴子补丁(Monkey Patch)是一种在运行时动态修改代码的技术。通在不修改源代码的情况下,改变代码的执行方式或增加功能2 Monkey Patching是在 运行时(run time) 动态替换属性(attributes)或方法3 Python的类是可变的(mutable),方法(methods)只是类的属性(attributes);这允许我们在 运行时(run time) 修改其行为。这被称为猴子补丁(Monkey Patching),它指的是偷偷地更改代码。**哪里用过**1 位置import pymysqlpymysql.instal_as_mysqldb()  # 动态的替换 原来使用 mysqldb链接数据库的类 conn2 位置gevent.monkey.patch_all() # 动态的替换 原来阻塞的io方法 ,全都替换成自己写的,不阻塞的 time,socket...3 这种情况  ---》json ---》内置模板---》没关注性能高低-如果有性能高的json转换模块---》想替换---》如果都换,每个地方都要改,太麻烦了-借助于猴子补丁---》程序运行一开始,动态的把json替换成ujsonjson.loads()

2 什么是反射,python中如何使用反射

2. **反射 (Reflection) 在 Python 中的使用:**- **定义:** 反射是一种机制,允许程序在运行时访问、检查和修改它本身的状态和行为。在 Python 中,反射通常通过一些内置的函数和特殊的属性来实现。- **使用:**- `getattr(obj, name[, default])`: 获取对象 `obj` 的属性 `name` 的值,如果属性不存在,可以提供默认值。- `hasattr(obj, name)`: 检查对象 `obj` 是否有属性 `name`。- `setattr(obj, name, value)`: 设置对象 `obj` 的属性 `name` 为指定的值。- `delattr(obj, name)`: 删除对象 `obj` 的属性 `name`。- `dir(obj)`: 返回对象 `obj` 的属性和方法列表。class MyClass:def __init__(self):self.x = 10obj = MyClass()# 使用 getattr 获取属性value = getattr(obj, 'x')print(value)  # 输出 10# 使用 hasattr 检查属性是否存在has_attr = hasattr(obj, 'y')print(has_attr)  # 输出 False# 使用 setattr 设置属性setattr(obj, 'y', 20)print(obj.y)  # 输出 20# 使用 delattr 删除属性delattr(obj, 'x')----------------总结--------------------------
# 反射就是通过字符串的形式去对象(模块)中操作(查找/获取/删除/添加)成员
# 反射:是程序在运行过程中通过字符串来操作对象的属性和方法# 可使用反射的地方:
1、反射类中的变量 : 静态属性,类方法,静态方法
2、反射对象中的变量、对象属性、普通方法
3、 反射模块中的变量
4、反射本文件中的变量# python 提供了一些反射方法-getattr-setattr-hasattr-delattr# 例子
def run():print('走狗')
d=Dog()
setattr(d,'run',run)
d.run()

3 http和https的区别


- **HTTP (HyperText Transfer Protocol):**- 不加密传输数据。- 默认端口是 80- 数据在传输过程中容易被窃听或篡改。- **HTTPS (HyperText Transfer Protocol Secure):**- 使用 SSL 或 TLS 协议进行加密传输,确保数据的安全性。- 默认端口是 443- 通过证书验证来确认网站的身份,防止中间人攻击。- 更安全,适用于需要保护用户隐私的场景,如在线支付、登录等。- **总结:** HTTPS 在 HTTP 的基础上增加了安全性,通过加密保护了数据的传输过程,
- 对于涉及用户隐私和安全的应用更为合适。~~~~~~~~~~~~~~~~~~~~~~~~~~总结~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# https://zhuanlan.zhihu.com/p/561907474# 名字
HTTP协议,英文全称是Hyper Text Transfer Protocol,是超文本传输协议
HTTPS协议,英文全称Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输安全协议# 默认端口HTTPS 和 HTTP 的默认端口不同(44380)
核心区别# HTTPS在 HTTP与 TCP 之间加入了一个加密/身份验证层,提供了身份验证与加密通讯
HTTP+ SSL / TLS,也就是在 http上又加了一层处理加密信息的模块,比 http安全,可防止数据在传输过程中被窃取、改变,确保数据的完整性
https=http+ssl# HTTP 由于是明文传输,主要存在三大风险:窃听风险、篡改风险、冒充风险
http://www.lryc.cn/news/236132.html

相关文章:

  • 深信服AC应用控制技术
  • 全新云开发工具箱:融合多项功能的微信小程序源码解决方案
  • Android跨进程通信,IPC,RPC,Binder系统,C语言应用层调用
  • 数据结构【DS】栈
  • 提高视频性能的 5 种方法
  • python有哪些高级的技术
  • 系列五、怎么查看默认的垃圾收集器是哪个?
  • 用向量数据库Milvus Cloud搭建GPT大模型+私有知识库的定制AI助手——PPT大纲助手
  • 浅谈基于云计算的环境智能监控系统
  • 向量机SVM代码实现
  • 基于STC12C5A60S2系列1T 8051单片的模数芯片ADC0809实现模数转换应用
  • 16. @PostConstruct注解和开关原理(验证码开关、IP开关)
  • uniapp+vue+Springboot 公司网站0~1搭建 前端前期设计篇
  • MFC 对话框
  • 关于node安装和nvm安装的问题
  • react 手机端 rc-table列隐藏(根据相关条件是否隐藏)、实现图片上传操作
  • 目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】三维重建
  • H110主板搭配魔改QNCW升级小记
  • Rust8.2 Fearless Concurrency
  • 合并两个有序链表(冒泡排序实现)
  • 【iOS】——知乎日报第五周总结
  • gRPC 四模式之 双向流RPC模式
  • 五分钟,Docker安装kafka 3.5,kafka-map图形化管理工具
  • 2023.11.18html中如何使用input/button进行网页跳转
  • java文件压缩加密,使用流的方式
  • 月子会所信息展示服务预约小程序的作用是什么
  • Windows核心编程 静态库与动态库
  • 【Spring Boot】如何自定义序列化以及反序列器
  • 6 Redis的慢查询配置原理
  • JAVA小游戏 “拼图”