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() 2 位置gevent.monkey.patch_all() 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()value = getattr(obj, 'x')print(value) has_attr = hasattr(obj, 'y')print(has_attr) setattr(obj, 'y', 20)print(obj.y) delattr(obj, 'x')----------------总结--------------------------
1、反射类中的变量 : 静态属性,类方法,静态方法
2、反射对象中的变量、对象属性、普通方法
3、 反射模块中的变量
4、反射本文件中的变量-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 的基础上增加了安全性,通过加密保护了数据的传输过程,
- 对于涉及用户隐私和安全的应用更为合适。~~~~~~~~~~~~~~~~~~~~~~~~~~总结~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HTTP协议,英文全称是Hyper Text Transfer Protocol,是超文本传输协议
HTTPS协议,英文全称Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输安全协议HTTPS 和 HTTP 的默认端口不同(443和80)
核心区别
HTTP+ SSL / TLS,也就是在 http上又加了一层处理加密信息的模块,比 http安全,可防止数据在传输过程中被窃取、改变,确保数据的完整性
https=http+ssl