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 = 10 obj = 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