python

目录

1.ping

2.面向对象的特点

3.鸭子模型

4.MRO

5.猴子补丁

6.Callable

7.Rust语言

8.go语言

9.胶水

10.MIPS

11.隐式递归

12.DRAM和SRAM

13.random 模块

14.哈希(hash)和Python中的集合(set)

15.拒绝服务攻击

16.元类介绍

 17.locale 模块

18.Verbose

19.Shell

20.第一个shell脚本

21.SHA-512算法

22.Python中_opcode.py文件

23.signal 模块

24.multiprocessing模块

25.salite3

26.md5.py模块

27.PEG解析器

28.简述雪花算法原理,优缺点,时钟回拨问题如何解决?

29.flask的请求钩子类似于Django的中间件, flask的请求钩子分为四种, 如下所示:

30.自定义中间健


1.ping

ping用于测试主机之间的连通性。发出请求,然后等待回应

2.面向对象的特点

封装:封装是将数据和方法组合在一起形成类的特性之一。

继承:继承是一种机制,允许创建一个新类来继承已有类的属性和方法。子类可以继承父类的特性

多态:多态性是指在不同的对象上执行相同的操作,可以产生不同的行为

抽象:抽象化是将对象的共同特征抽象出来形成类的特性之一。

3.鸭子模型

鸭子模型:是一种动态类型系统中的概念,用于描述在编程中,对象的适配性不是基于其继承的类型,而是基于其具有的方法和属性。

鸭子模型的名称源自一句俗语:“如果一只鸟走起来像鸭子,叫声像鸭子,那么它就是一只鸭子”。这种思想将类型的判断从具体的继承关系转移到了对象的行为上。

4.MRO

MRO(Method Resolution Order)是指在面向对象语言中,用于确定在继承关系中方法的查找顺序。当一个类继承自多个父类时,MRO决定了方法调用时的查找顺序,确保方法能够按照预期的方式被解析和执行。

5.猴子补丁

猴子补丁(Monkey Patching)是指在运行时动态修改或扩展现有的代码或类的行为的一种技术。它通常用于在不修改原始代码的情况下,通过注入新的代码来实现对现有功能的改进或拓展。

6.Callable

在编程中,可调用对象(Callable)是指可以像函数一样进行调用的对象。在Python中,可调用对象可以是函数(包括内置函数和自定义函数)、方法、类及其实例、以及实现了 __call__ 方法的对象。

7.Rust语言

Rust 是一种开源的系统编程语言,由 Mozilla 公司的开发者设计和开发。它的设计目标是提供高性能、并发安全和内存安全的编程体验。

8.go语言

Go语言(也称为Golang)是由Google开发的一种静态类型、编译型的开源编程语言。Go语言设计简洁,具有高效的并发编程能力,被设计用于构建可靠、高性能的软件。

9.胶水

“胶水”(Glue)通常指的是一种软件工具或编程技术,用于将不兼容的组件、库或系统连接在一起,以实现互操作性或集成功能。

10.MIPS

计算机中mips是指单字长定点指今平均执行速度,即每秒处理的百万级的机器语言指令数,是衡量计算机运算速度的指标MIPS是指令执行的速率,规定了性能和执行时间成反比,越快的计算机具有越高的MIPS值。

11.隐式递归

隐式递归是一种递归算法的实现方式,其中递归调用并没有明确地出现在代码中,而是通过函数或方法内部的循环来隐式地实现递归。

在隐式递归中,函数或方法通过不断迭代自身来实现递归调用,而不是显式地使用递归关键字或语句。这样做的好处是避免了递归调用带来的函数调用开销和堆栈空间的使用,使得算法更加高效

12.DRAM和SRAM

DRAM是一种动态随机访问存储器,它以电容器和放大器的组合来存储数据。每个存储单元包含一个电容器和一个开关,通过对电容器充电或放电来表示二进制位(0或1) 。

SRAM是一种静态随机访问存储器,它使用键控门电路来存储数据每个存储单元由多个存储器细胞组成,每个细胞由6个晶体管构成。

DRAM 和 SRAM 是两种不同的存储器类型,DRAM 适用于主存储器,容量较大但性能较低,而 SRAM 适用于高速缓存和特定应用,具有更快的速度和高性能。

13.random 模块

random 模块是Python标准库中用于生成伪随机数的模块。伪随机数是通过确定性算法生成的看似随机的数字序列,而不是真正的随机数,random.random是0,1随机小数,random.randint随机整数数。

14.哈希(hash)和Python中的集合(set)

哈希是一种将数据映射为固定长度的唯一值(哈希值)的技术。在Pthon中,哈希被广泛用于字典(dict)和集合(set)等数据结构的实现。在这些数据结格中,哈希用于快速查找和比较元素。

(2)Python中的集合(set)是一种无序、不重复的容器。使用集合可以高效地进行成员测试、去重和集合运算等操作。集合中的元素必须是可哈希的(immutable)。因此,在Python中,集合的实现是基于哈希的。

15.拒绝服务攻击

拒绝服务攻击 (英语: denial-of-service attack,简称DoS攻击)亦称洪水攻击,是一种网络攻击手法,其目的在于使目标电脑的网络或系统资源耗尽,使服务暂时中断或停止,导致其正常用户无法访问。

16.元类介绍

所有的对象都是实例化或者说是通过调用类而得到的,python中一切皆对象,通过class关键字定义的类本质也是对象,对象又是通过调用类得到的,因此通过class关键字定义的类肯定也是调用了一个类得到的,这个类就是 元类

 17.locale 模块

在Python中,可以使用 locale 模块来处理与特定地域相关的数据格式化和本地化。 locale 模块提供了一些函数和常量,用于设置和查询当前的地域设置。

18.Verbose

在Django中,verbose 通常用于设置模型字段(Model Field)的可读性或可展示性。

verbose 是 Field 类的一个属性,用于定义字段在Web界面的表单或后台管理系统中的显示名称。它的作用是提供一个更具描述性的名称以使用户更容易理解该字段的用途。

19.Shell

Shell 是一个用C语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

20.第一个shell脚本

新建一个文件 test.sh,扩展名为 sh(sh代表she),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写shell 脚本,扩展名就用 php 好了。

21.SHA-512算法

 SHA-512进行哈希计算的示例:

import hashlib

data = b"Hello, World!"

sha512 hash = hashlib.sha512(data).hexdigest()

print("SHA-512 哈希值:"sha512 hash)

22.Python中_opcode.py文件

_opcode.py文件是Python解释器源码中的一个模块,用于定义和处理Python字节码(bytecode)指令的操作码(opcode)。字节码是由Python源代码编译而成的中间代码,它在Python虚拟机中执行。

23.signal 模块

signal 模块提供了对信号的处理功能。信号是操作系统用于通知进程发生某些事件的一种机制,例如按下Ctr+C键产生的中断信号,使用signal 模块,你可以编写代码来捕获和处理各种信号。

24.multiprocessing模块

multiprocessing 是Python标准库中的一个模块,用于实现多进程编程。它提供了一种简单的方式来创建和管理多个进程,使得可以在并行的环境中执行任务。

使用 multiprocessing 模块,您可以创建多个进程来司时执行任务,从而提高程序的性能和效率。

25.salite3

"salite3"是一个用于操作SQLite数据库的Python标准库模块。SQLite是一种轻量级的嵌入式数据库引擎它不需要独立的服务器进程,而是将数据库存储在单个文件中。

通过使用sqlite3模块,您可以在Python中执行各种数据库操作,包括创建数据库、创建表、插入数据、查询数据等。

26.md5.py模块

“md5.py”是一个Python 文件或模块的名称。

“md5.py”可能包含了用于计算 MD5 哈希值的函数或类,或者包含了其他与 MD5 相关的操作。

27.PEG解析器

PEG解析器代表的是“解析表达式语法解析器。”它是一种解析器,使用一种称为解析表达式语法(PEG)的正式语法,根据一组规则来分析和解析输入字符串。PEG解析器通常用于编程语言、编译器和其他需要处理结构化数据的系统中。

28.简述雪花算法原理,优缺点,时钟回拨问题如何解决?

雪花算法是分布式环境下生成全局唯一ID的一种算法,它将41时间戳、12序列号ID和10机器ID等信息组合成一个64位二进制数,优点是保证了高并发、独立性和按时间有序等特点,缺点是需要依赖系统时钟。

解决:使用NTP协议对系统时钟进行同步,保证所有机器之间的时钟误差较小。

  • 将原本10位的机器码拆分成3位时钟序列及7位机器码
  • 发生时间回拨的时候,时间已经发生了变化,那么这时将时钟序列新增1位,重新定义整个雪花Id
  • 为了避免实例重启引起时间序列丢失,因此时钟序列最好通过DB/缓存等方式存储起来

29.flask的请求钩子类似于Django的中间件, flask的请求钩子分为四种, 如下所示:

    - before_first_request: 请求处理前执行, 只执行一次

    - before_request: 请求处理前执行, 每次请求处理前都会执行

    - after_request: 请求处理后执行, 但其是在请求无异常的基础上执行的, 该钩子接受一个参数为响应对象, 并且钩子函数最后需要将参数传递来的响应return返回

- teardown_request: 请求处理后执行, 其无论请求是否存在异常都会执行, 该钩子也接受一个参数为异常信息

30.自定义中间健

1. process_request在视图函数之前,在路由匹配之前,参数接受请求request,返回none代码正常执行,返回HttpResponse响应,提前截断并返回代码。

2. process_response最后执行,所有视图返回响应时都会执行,参数接受视图的请求request和响应response,返回响应response正常执行代码流程。

3. process_view:匹配到具体视图后,在执行视图函数之前执行的中间件。

4. process_template_response:返回模板页面时执行的中间件。

5. process_exception:出现异常时执行的中间件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值