随笔分类 -  python进阶

摘要:初识单例模式 单例模式含义 单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一 阅读全文
posted @ 2022-11-24 13:16 Silent丿丶黑羽 阅读(230) 评论(0) 推荐(0)
摘要:前言 在Python中,一个.py文件代表一个Module。在Module中可以是任何的符合Python文件格式的Python脚本。了解Module导入机制大有用处。 1. Module组成 一个.py文件就是一个module。Module中包括attribute, function等。 这里说的a 阅读全文
posted @ 2022-11-23 11:32 Silent丿丶黑羽 阅读(3609) 评论(0) 推荐(2)
摘要:1. 什么是反射? 它的核心本质其实就是**基于字符串的事件驱动,通过字符串的形式**去操作对象的属性或者方法 2. 反射的优点 一个概念被提出来,就是要明白它的优点有哪些,这样我们才能知道为什么要使用反射。 2.1 场景构造 开发1个网站,由两个文件组成,一个是具体执行操作的文件commons.p 阅读全文
posted @ 2022-11-09 09:57 Silent丿丶黑羽 阅读(524) 评论(0) 推荐(1)
摘要:前言 这个模块实现了特定目标的容器,以提供Python标准内建容器dict ,list ,set , 和tuple 的替代选择。 这个模块提供了以下几个函数 | 函数 | 作用 | | | | | namedtuple() | 创建命名元组子类的工厂函数 | | deque | 类似列表(list) 阅读全文
posted @ 2022-11-08 09:03 Silent丿丶黑羽 阅读(463) 评论(0) 推荐(2)
摘要:协程的定义 协程(Coroutine),又称微线程,纤程。(协程是一种用户态的轻量级线程) 作用:在执行 A 函数的时候,可以随时中断,去执行 B 函数,然后中断B函数,继续执行 A 函数 (可以自动切换),但这一过程并不是函数调用(没有调用语句),过程很像多线程,然而协程只有一个线程在执行 通俗的 阅读全文
posted @ 2022-02-22 15:46 Silent丿丶黑羽 阅读(608) 评论(0) 推荐(0)
摘要:前言 问题1:python中的字典到底是有序还是无序 问题2:python中字典的效率如何 python字典底层原理 在Python 3.5以前,字典是不能保证顺序的,键值对A先插入字典,键值对B后插入字典,但是当你打印字典的Keys列表时,你会发现B可能在A的前面。 但是从Python 3.6开始 阅读全文
posted @ 2022-02-11 10:16 Silent丿丶黑羽 阅读(1883) 评论(3) 推荐(3)
摘要:前言 AES加密的模式有很多种,下面来介绍ECB模式的加密解密 import base64 from Crypto.Cipher import AES class AESECB: def __init__(self, key): self.key = key # 加密密钥 self.mode = A 阅读全文
posted @ 2021-12-13 15:08 Silent丿丶黑羽 阅读(561) 评论(0) 推荐(0)
摘要:pydantic库的作用 pydantic库是一种常用的用于数据接口schema定义与检查的库。 Pydantic 在运行时强制执行类型提示,并在数据无效时提供用户友好的错误信息。 pydantic安装 pip install pydantic 用法详解 模型 在pydantic中定义对象的主要方法 阅读全文
posted @ 2021-11-03 10:55 Silent丿丶黑羽 阅读(1308) 评论(0) 推荐(0)
摘要:typing介绍 Python是一门弱类型的语言,很多时候我们可能不清楚函数参数的类型或者返回值的类型,这样会导致我们在写完代码一段时间后回过头再看代码,忘记了自己写的函数需要传什么类型的参数,返回什么类型的结果,这样就不得不去阅读代码的具体内容,降低了阅读的速度,typing模块可以很好的解决这个 阅读全文
posted @ 2021-10-25 16:43 Silent丿丶黑羽 阅读(581) 评论(0) 推荐(0)
摘要:正则表达式 正则表达式(Regular Expression,在代码中常简写为regex、 regexp、RE 或re)是预先定义好的一个“规则字符率”,通过这个“规则字符串”可以匹配、查找和替换那些符合“规则”的文本。 虽然文本的查找和替換功能可通过字符串提供的方法实现,但是实现起来极为困难,而且 阅读全文
posted @ 2021-08-31 14:48 Silent丿丶黑羽 阅读(766) 评论(0) 推荐(1)
摘要:前言 通常我们创建类都是使用class 类名,但是小伙伴们有没有想过,类是由谁来创建的呢,python中常说的万物皆对象,对象是由类创建的,那类本身也可以看做是对象,类可以由元类type创建 type动态创建类 语法格式 type(类名,由父类名称组成的元组(可以为空),包含属性的字典(名称和值)) 阅读全文
posted @ 2021-04-29 12:00 Silent丿丶黑羽 阅读(174) 评论(0) 推荐(0)
摘要:前言 我们都知道装饰器的作用是在不改变原有的代码基础上,添加新的功能,但是这样会有一个弊端,被装饰的函数某些属性会变改变,接下来我们来看下 案例 import time def run_time(func): def wrapper(*args, **kwargs): """时间装饰器""" tim 阅读全文
posted @ 2021-04-29 10:14 Silent丿丶黑羽 阅读(310) 评论(0) 推荐(0)
摘要:什么是偏函数partial python中提供一种对于函数固定属性的函数 偏函数的作用 把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数 偏函数的语法 使用偏函数必须先导入from functools import partial 函数格式:partial(func, *args, 阅读全文
posted @ 2021-04-29 06:46 Silent丿丶黑羽 阅读(272) 评论(0) 推荐(0)
摘要:前言 python的使用者都知道Cpython解释器有一个弊端,真正执行时同一时间只会有一个线程执行,这是由于设计者当初设计的一个缺陷,里面有个叫GIL锁的,但他到底是什么?我们只知道因为他导致python使用多线程执行时,其实一直是单线程,但是原理却不知道,那么接下来我们就认识一下GIL锁 什么是 阅读全文
posted @ 2021-04-23 14:02 Silent丿丶黑羽 阅读(4066) 评论(0) 推荐(3)
摘要:前言 在Python中,计算密集型任务适用于多进程,IO密集型任务适用于多线程 正常来讲,多线程要比多进程效率更高,因为进程间的切换需要的资源和开销更大,而线程相对更小,但是我们使用的Python大多数的解释器是Cpython,众所周知Cpython有个GIL锁,导致执行计算密集型任务时多线程实际只 阅读全文
posted @ 2021-04-22 17:50 Silent丿丶黑羽 阅读(562) 评论(2) 推荐(1)
摘要:python将自己写的模块上传到PyPI服务器,报错 error: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ 阅读全文
posted @ 2021-04-16 15:25 Silent丿丶黑羽 阅读(919) 评论(0) 推荐(0)
摘要:装饰器 装饰器放在一个函数开始定义的地方,它就像一顶帽子一样戴在这个函数的头上。和这个函数绑定在一起。在我们调用这个函数的时候,第一件事并不是执行这个函数,而是将这个函数做为参数传入它头顶上这顶帽子,这顶帽子我们称之为 装饰器 。 装饰器的功能 引入日志 函数执行时间统计 执行函数前预备处理 执行函 阅读全文
posted @ 2021-02-28 10:11 Silent丿丶黑羽 阅读(174) 评论(0) 推荐(1)
摘要:闭包 首先了解一下:如果在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内部的我们叫他内函数。 在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用。这样就构成了一个闭包。 一般情况下,在我们认知当中,如果一个函数结束,函数的内部所有东西都会释放掉 阅读全文
posted @ 2021-02-28 09:55 Silent丿丶黑羽 阅读(211) 评论(0) 推荐(1)
摘要:生成器 利用迭代器,我们可以在每次迭代获取数据(通过next()方法)时按照特定的规律进行生成。但是我们在实现一个迭代器时,关于当前迭代到的状态需要我们自己记录,进而才能根据当前状态生成下一个数据。 为了达到记录当前状态,并配合next()函数进行迭代使用,我们可以采用更简便的语法,即生成器(gen 阅读全文
posted @ 2021-02-27 19:52 Silent丿丶黑羽 阅读(243) 评论(0) 推荐(1)
摘要:迭代器 迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 可迭代对象 我们已经知道可以对list、tuple、str等类型的数据使用for...in...的循环语法从其中依次拿到数据进行使用 阅读全文
posted @ 2021-02-27 15:24 Silent丿丶黑羽 阅读(184) 评论(0) 推荐(1)