06 2023 档案
摘要:1、博客园美化教程大集合 极致个性化你的专属博客(超详细,看这篇就够了) (itxueyuan.com) 2、自建博客 Hexo+Github博客搭建完全教程 | 深度驿站 (sunhwee.com) Hexo+Github博客搭建完全教程
阅读全文
摘要:一、Mixins机制 Mixins机制是一种在面向对象编程中用于代码复用的灵活机制,通过将特定功能的代码块注入到类中,增强了类的功能,同时保持了类的层次结构的简洁性和灵活性。 案例: 定义一个交通工具类,民航飞机和直升飞机、汽车都属与交通工具,继承交通工具类。 但是汽车不会飞,将fly的方法从交通工
阅读全文
摘要:1、什么是反射 反射是指在运行时检查、访问和修改对象的属性和方法。通过反射,可以动态地获取对象的信息并执行相应的操作,而不需要提前知道对象的具体结构。 2、使用内置函数和来实现反射操作 getattr(object, name[, default]): 用于获取对象的属性值。 参数 object 是
阅读全文
摘要:一、什么是魔术方法 1、魔术方法是一组具有特殊命名和行为的特殊方法,它们允许您自定义类的行为。这些方法使用双下划线(__)作为前缀和后缀,因此也被称为双下划线方法或特殊方法。 2、需要掌握每个方法什么时候触发或者执行 二、常见的魔术方法 1、__init__方法 初始化方法,当一个类被调用产生实例对
阅读全文
摘要:一、封装 封装是一种将数据和相关方法组合成一个单独的实体的机制。它将数据(属性)和操作数据的方法(方法)封装在一个对象中,并对外部代码隐藏了内部的实现细节。通过封装,对象可以提供一个公共接口,使得外部代码可以通过该接口访问和操作对象的数据,而不 需要了解其内部的具体实现。 封装之后:可以使用对象.属
阅读全文
摘要:一、绑定方法 1、绑定给类的方法(@classmethod) class Oracle(): def __init__(self, ip, port): self.ip = ip self.port = port @classmethod # 该方法已经变成了绑定给类的方法,而不是绑定给对象了 de
阅读全文
摘要:一、两大范式 支持面向对象的语言中,都有两大范式面向过程和面向对象 1、面向过程:流程化、步骤化思维 优点: 复杂的问题简单化,进而流程化 缺点: 扩展性差,牵一发而动全身使用场景:对扩展性要求不高的地方,一般使用面向过程 2、面向对象 对象就是盛放数据"属性"和"方法"的结合体属性:简单理解就是变
阅读全文
摘要:一、深拷贝和浅拷贝概念理解 1、浅拷贝,指的是重新分配一块内存,创建一个新的对象,但里面的元素是原对象中各个子对象的引用。 2、深拷贝,是指重新分配一块内存,创建一个新的对象,并且将原对象中的元素,以递归的方式,通过创建新的子对象拷贝到新对象中。因此,新对象和原对象没有任何关联。 3、对于不可变对象
阅读全文
摘要:一、日志的简单使用 1、什么是日志 记录你的代码在执行过程中的一些变化 (记录的是一些有意义的变化) 2、日志的5个等级 import logging logging.debug('debug message') # 10 logging.info('info message') # 20 logg
阅读全文
摘要:一、什么是摘要算法 1、摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示) 用于生成数据或文本的简短摘要或哈希值的算法。它们被广泛应用于密码学、数据完整性验证和信息检索等领域。摘要算法通过对输入数据进行计算和转换,生成一个固定长度
阅读全文
摘要:一、json Json模块提供了四个功能:dumps、dump、loads、load 1、前景 什么叫序列化——将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化。 序列化的目的 以某种存储形式使自定义对象持久化; 将对象从一个地方传递到另一个地方。 使程序更具维护性 在Python中,能够
阅读全文
摘要:一、sys模块 sys模块是与python解释器交互的一个接口 1、sys.argv() 在Python中,sys.argv是一个列表,它包含了命令行参数传递给Python脚本的参数值。 sys.argv列表的第一个元素是脚本的名称,后面的元素是传递给脚本的参数。 import sys # 打印脚本
阅读全文
摘要:1、随机小数 import random # 大于0且小于1之间的小数 res = random.random() print(res) # 0.6102580330717722 #大于10小于88的小数 res1 = random.uniform(10,88) print(res1) # 75.8
阅读全文
摘要:一、time 模块 1、三个时间显示形式 timestamp:时间戳 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 struct_time:结构化时间 struct_time元组共有9个元素
阅读全文
摘要:一、简单做一个分类 在线测试工具 http://tool.chinaz.com/regex/ https://github.com/any86/any-rule 1、字符组 字符组 : [字符组] 在同一个位置可能出现的各种字符组成了一个字符组,在正则表达式中用[]表示 字符分为很多类,比如数字、字
阅读全文
摘要:一、模块的简介 1、什么是模块 Python 模块是一个 Python 文件,定义了各种功能接口。 2、为啥使用模块 把复杂的功能封装为模块(又称为库),将功能实现的细节隐藏起来,使用该模块(库)的程序员不需要了解实现的细节。通过调用模块封装好的功能, 可以用仅仅几行 Python 代码实现某项复杂
阅读全文
摘要:1、sorted() 排序 sorted(iterable, key=None, reverse=False) 其中,参数的含义如下: iterable:表示要排序的可迭代对象,如列表、元组、字符串等。 key:可选参数,用于指定排序的依据。它是一个函数或 lambda 表达式,根据指定的键从可迭代
阅读全文
摘要:一、迭代器(Iterator) 1、可迭代对象(Iterable)和可索引对象 存储了元素的一个容器对象,且容器中的元素可以通过“__iter__( )”方法或“__getitem__( )”方法访问。可迭代对象不能独立进行迭代,可通过“for…in”遍历来完成 2、常见的可迭代对象 字符串、列表、
阅读全文
摘要:1、内核的作用 Linux 内核是 Linux 操作系统的主要组件,也是计算机硬件与其进程之间的核心接口。它负责两者之间的通信,还要尽可能高效地管理资源。之所以称为内核,是因为它在操作系统中就像果实硬壳中的种子一样,并且控制着硬件的所有主要功能。内核的用途主要有以下 4 项工作: 内存管理:追踪记录
阅读全文
摘要:一、三元表达式 1、引入 比价两个数的大小,正常函数写法 def my_max(a, b): if a > b: return a else: return b my_max(1, 2) 2、三元表达式写法 def my_max(a, b): return a if a > b else b res
阅读全文