![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python 学习笔记
文章平均质量分 76
风老魔
这个作者很懒,什么都没留下…
展开
-
Google Protocol Buffers(Protobuf):入门指南、介绍和应用场景
通过定义消息结构和使用生成的代码,我们可以轻松实现数据的序列化和反序列化。在网络通信、数据存储和持久化等场景中,Protobuf发挥着重要作用,提供了高性能、可扩展和可靠的数据交换方案。Google Protocol Buffers(Protobuf)是一种轻量级、高效的数据序列化格式,用于结构化数据的序列化和反序列化。Protobuf使用.proto文件定义数据结构和消息格式,然后利用编译器生成特定语言的源代码,从而实现跨语言的数据交换。原创 2023-05-16 21:41:39 · 3248 阅读 · 2 评论 -
Python 面试题【编程范式】
Python 编程范式考察原创 2023-05-15 23:05:55 · 449 阅读 · 0 评论 -
如何在 Python 中更优雅地记录日志
日志记录是软件开发中不可或缺的一部分,可以帮助开发人员在应用程序运行过程中跟踪问题、调试代码和监控系统状态。在Python中,有多种方式可以记录日志。本篇博客将介绍一些优雅的日志记录最佳实践,帮助您在Python应用程序中实现可维护、可扩展和易于调试的日志记录。原创 2023-05-15 22:58:16 · 2395 阅读 · 0 评论 -
RBAC 权限管理系统
【代码】RBAC 权限管理系统。原创 2023-04-22 23:43:30 · 281 阅读 · 0 评论 -
RBAC 权限使用说明
RBAC 权限使用原创 2023-04-01 23:34:18 · 120 阅读 · 0 评论 -
Windows 上安装 Python2.6
的虚拟环境区分,而是放在同一目录,如果想放在不同的目录,使用不同的命令创建,可参考以下两篇文章。2、添加系统环境变量,在系统环境变量新增。,并将安装路径添加到系统环境变量中。,并将安装路径添加到系统环境变量。环境都以安装完毕,以下是检查。注意:2.6 版本安装后没有。保存退出,最后再重启解释器。安装虚拟环境后,记得将。路径添加到系统环境变量,版本下载,并将其放在。后记得添加系统环境变量。安装完后将 2.7 的。2、下载安装成功后,将。原创 2023-04-01 23:33:22 · 1275 阅读 · 0 评论 -
Python 文件读取
避免出现空行,可以在写入时加newline=''编码问题,需要指定open()另外pandas库的DataFrame对象的to_csv()方法也可以将数据写入 csv 中。原创 2023-03-31 11:45:00 · 330 阅读 · 0 评论 -
Python sys 模块
sys.argv:查看当前导入的模块信息sys.exit():退出程序。原创 2023-03-15 21:53:27 · 120 阅读 · 0 评论 -
Python unittest 模块
当测试用例使用 assertEqual() 判断两个对象是否相等时,如果被判断的类型是字符串、序列、列表、元组、集合、字典,则程序会自动改为使用如下的断言方法进行判断。测试包(TestSuite)可以组织多个测试用例,组建好测试包后再用测试运行器(TestRunner)来运行该测试包所包含的所有测试用例。如果程序要对异常、错误、警告和日志进行断言判断,如果希望直接生成文件格式的测试报告,可 指定。来运行当前源文件中的所有测试用例。原创 2023-03-11 09:45:00 · 339 阅读 · 0 评论 -
Python shutil 模块
shutil模块是对os模块的补充,主要对文件的拷贝、删除、移动、压缩和解压操作。原创 2023-03-11 10:00:00 · 127 阅读 · 0 评论 -
Python re 模块
正则表达式是一种小型、高度专业化的编程语言。适用于任何语言,在 Python 中通过 re 模块实现。正则模式被编译成一系列的字节码,然后由 C 语言编写的匹配引擎执行。给字符串模糊匹配。原创 2023-03-10 15:45:00 · 1893 阅读 · 0 评论 -
Python OS 模块
OS 模块(operating system),意为操作系统,是 python 处理文件系统的常用模块,因为 python 是跨平台的,所以使用 os 模块,不用担心操作系统使用什么模块,os 模块会帮你选择正确的模块并调用。原创 2023-03-10 10:45:00 · 3008 阅读 · 0 评论 -
Python optparse 模块
optparse 模块可以解析命令行上的命令,通过 -s、-P 类似这种标识来标识命令,从而取得命令中的相关值。options 是一个 optparse 对象,它类似于字典,但是想要取其中的值,需要用点(.)的方式才能取到。利用这种方式,我们就可以轻易取到命令中的端口、ip。原创 2023-03-09 21:23:21 · 281 阅读 · 0 评论 -
Python 模块之 datetime
所有参数可选,且默认都是0,参数的值可以是整数,浮点数,正数或负数。类表示时间,由时、分、秒、微妙组成。表示一个日期,由年、月、日组成。表示两个时间的时间差,原创 2023-03-09 21:24:16 · 409 阅读 · 0 评论 -
Python 模块之 CSV 读取
避免出现空行,可以在写入时加newline=''编码问题,需要指定open()另外pandas库的DataFrame对象的to_csv()方法也可以将数据写入 csv 中。原创 2023-03-08 10:30:00 · 716 阅读 · 0 评论 -
HTTP 协议
超文本传输协议,是浏览器与万维网服务器之间通信的规则。规定了客户端与服务端之间互相发送内容的格式,客户端发给服务端的叫,服务端返回给客户端的为。同时它也是无状态的,客户端向服务端请求资源后,服务端返回资源,两者连接的状态断开(现在一般优化保持 3000ms,keep-alive)。原创 2023-03-03 22:21:00 · 498 阅读 · 0 评论 -
GUI 之 Tkinter编程
GUI 图形界面,Tkinter 是 Python 内置的 GUI 库,IDLE 就是 Tkinter 设计的。原创 2023-03-03 22:22:01 · 1216 阅读 · 0 评论 -
Celery 分布式任务队列
Celery 是一个 基于 Python 开发的分布式异步消息任务队列,可以实现任务异步处理,制定定时任务等。Celery 在执行任务时需要通过一个消息中间件来接收和发送任务消息,以及存储任务结果, 一般使用 或 (默认采用 RabbitMQ)优点:Celery 构成Celery 主要模块:实现异步任务步骤:1、安装2、创建 Celery 实例3、启动 Celery Worker打开 Ubuntu 终端,输入:,看到如下图就表示启动成功了:参数:4、调用任务另起一个终端,进入 Python 环境,执行原创 2023-03-02 11:15:00 · 1443 阅读 · 2 评论 -
asyncio 并发编程(二)
链式调用的方式可以管理一系列的协程,但是如果要在一个协程钟等待多个协程。如果想实现动态添加任务,则只能在另开启一个线程,这个线程的主要任务是用来运行事件循环。类似,也是无序输出的,不过在执行其他动作之前没有必要等待所有后台操作完成。任务 Task 是与实践循环交互的主要途径之一,任务可以包装、跟踪协程。协程可以等待任务,每个任务都有一个结果,在它完成后可以获取这个结果。是一个生成器,它会管理指定的一个任务列表,并生成它们的结果。可以将协程包装成有状态的任务,也可以在任务运行中取消任务。原创 2023-03-02 09:45:00 · 236 阅读 · 0 评论 -
asyncio 并发编程(一)
Python2时代高性能的网络编程主要是TwistedTornado和Gevent这三个库,但是它们的异步代码相互之间既不兼容也不能移植。Gvanrossum希望在Python 3实现一个原生的基于,其中直接内置了对异步 IO 的支持,这就是asyncio,它在Python 3.4被引入到标准库。原创 2023-03-01 21:30:08 · 429 阅读 · 0 评论 -
APScheduler BackgroundScheduler 踩坑
但是并不会阻止主程序自己终止,而。原创 2023-03-01 21:27:34 · 461 阅读 · 0 评论 -
apscheduler 定时任务框架
每个任务都有自己的触发器,它可以决定任务触发的条件,触发器默认是无状态的。默认存储在内存中,若存储到数据库中会有个序列化和反序列化的过程,同时修改和搜索任务的功能也是由它实现。将任务放入线程或线程池中执行,执行完毕通知调度器调度器提供接口,可以将触发器、作业存储器和执行器整合起来,从而实现对任务的操作。1、作业存储器2、执行器。原创 2023-02-28 16:00:00 · 874 阅读 · 0 评论 -
网站性能优化
网站性能优化是在用户高并发访问,网站遇到问题时的解决方案。所以网站性能优化的主要内容是改善高并发用户访问情况下的网站响应速度。网站性能优化的最终目的是改善用户的体验。但性能优化本身也是需要综合考虑的。比如说,性能提高一倍,服务器数量也要增加一倍,这样的优化是否可以考虑?技术是由业务驱动的,离开业务的支撑,任何性能优化都是空中楼阁。原创 2023-02-28 09:30:00 · 561 阅读 · 0 评论 -
Python 多线程、多进程和协程
1、thread 模块不支持守护线程,当主线程退出后,所有子线程也会退出,不管其是否在工作2、threading 模块支持守护线程:等待一个客户端请求服务的服务器,如果客户端没有请求,守护线程是空闲的,如果把一个线程设置为守护线程,就表示这个线程不重要的。进程退出时不需要等待这个线程执行完成。如果主线程退出时,不需要等待某些子线程完成,可以将子线程设置为,标记为真时,表示该线程不重要。在启动线程前执行可以设置守护线程,检查线程的守护状态也可以判断它。原创 2023-02-27 09:45:00 · 570 阅读 · 0 评论 -
Python 多线程与协程爬取方案对比
在主线程中调用一次,它将自动创建一个循环对象并将其设置为默认值,但是如果你在一个子线程中再次调用它,你会得到这个错误。参考文章:https://aiohttp.readthedocs.io/en/stable/client_quickstart.html。原文链接:https://blog.csdn.net/qq_34367804/article/details/75046718。参考文章:https://blog.csdn.net/cong_da_da/article/details/84325849。原创 2023-02-27 14:30:00 · 359 阅读 · 0 评论 -
Python 单例模式
单例(Singleton)模式,是一种常用的软件设计模式。使用它,就是为了保证全局环境下。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。**应用场景:**一个项目中多个地方需要读取同一份配置文件,如果每次使用都是导入重新创建实例,读取文件,用完后再销毁,这样做的话,就造成不必要的IO浪费,可以使用单例模式只生成一份配置在内存中。原创 2023-02-25 14:30:00 · 4282 阅读 · 4 评论 -
Python 单元测试
编写函数或类时,可以为其编写测试单元,通过测试,可以确定代码面对各种输入都能按照要求那样工作,在添加新代码时也可以对其进行测试,确保不会破坏既有程序。原创 2023-02-25 09:00:00 · 2964 阅读 · 0 评论 -
Python 并发编程
现在计算机系统是由一个或者多个处理,主存,磁盘,打印机,键盘,鼠标显示器,网络接口以及其他 I/O 设备组成的复杂系统。一个程序员不可能掌握所有系统实现的细节,为此我们就需要为计算机安装一层软件(即操作系统),其目的就是来管理以上设备。操作系统是一个用来协调、管理和控制计算机硬件和软件资源的系统程序,位于硬件和应用程序之间。将对应于程序和数据的已穿孔的纸带或卡片,装入输入级,然后启动输入级把程序和数据输入计算机内存。再通过控制台开关启动程序针对数据运行,计算完毕,打印机输入计算机结果。用户取走结果并取下卡片原创 2023-02-24 09:30:00 · 752 阅读 · 1 评论 -
Python 模块和包
而模块(module)就是个程序,一个.py随机程序代码越写越多,每个文件里面的代码越来越长,越来越不容易维护。**Tips:**自定义模块的时候,不要与内置的模块名有冲突,不然会影响内置模块。原创 2023-02-24 10:00:00 · 564 阅读 · 0 评论 -
Python 入门之文件和异常处理
至此,已经掌握了编写组织有序而易于使用的程序所需的基本技能,该考虑让程序目标更明确、用途更大了。本章,将学习文件处理,它能让程序快速分析大量的数据,也将学习错误处理,避免程序在面对意外时崩溃,将学习异常,它们时python创建的特殊对象,用于管理程序运行时出现的错误,还将学习json 模块,它让你能够保存用户数据,以免在程序停止运行后丢失。原创 2023-02-23 10:00:00 · 961 阅读 · 0 评论 -
Python 入门之列表切片
想必很多人都使用过列表的切片,通过切片可以从列表中获取一个或多个元素,但你真的了解切片?原创 2023-02-23 12:30:00 · 696 阅读 · 0 评论 -
面向对象进阶之元类
元类是类的类,也就是类的模板。用于控制创建类,正如类是创建对象的模板一样。在 Python 中,type 是一个内建的元类,它可以用来控制生成类。Python 中任何由 class 关键字定义的类都 type 类实例化的对象。使用type()type()函数有三个参数:第一个为类名(str 格式),第二个为继承的父类(tuple),第三个为属性(dict)。原创 2023-02-22 12:30:00 · 351 阅读 · 0 评论 -
面向对象进阶之类装饰器及描述符
首先执行,返回wrapper。再接着执行@wrapper,相当于。最后利用为类添加属性。在利用setattr()设置属性的时候,对 value 进行类型检查。原创 2023-02-22 10:30:00 · 252 阅读 · 0 评论 -
面向对象进阶之类的其他内置函数(三)
判断第一个参数是否是第二个参数的实例对象,返回布尔值。第一个参数为对象,第二个参数为类。在继承关系中,一个对象的数据类型是某个子类,那么它也可以被看作是父类,反之则不行。判断第一个参数是否是第二个参数的子类,返回布尔值。原创 2023-02-21 10:45:00 · 345 阅读 · 0 评论 -
面向对象之三大特性(二)
面向对象三大特征:继承、多肽、封装原创 2023-02-21 09:00:00 · 318 阅读 · 0 评论 -
面向对象之类和对象(一)
*静态属性:**可以使用类、实例的数据属性,不能累调用(绑定实例)**类方法:**不能使用实例的数据属性,可以用类、实例调用(与类绑定)**静态方法:**不能使用类、实例的数据属性,可以用类、实例调用(与类、实例都不绑定)**常规函数:**不能使用类、实例的数据属性,不能用实例调用(与类、实例都不绑定)原创 2023-02-20 22:35:55 · 348 阅读 · 0 评论 -
Python 基本数据类型(二)
列表是 Python 最常用的数据类型,它是有序元素的集合,元素之间以逗号分隔,用中括号括起来,可以是任何数据类型。同时它也是一种序列,支持索引、切片、加、乘和成员检查等。**索引:**即序列中元素的位置,从 0 开始。原创 2023-02-20 22:33:06 · 336 阅读 · 0 评论 -
Python 基本数据类型(一)
Python 整型、字符串等基本数据类型原创 2023-02-20 14:15:00 · 589 阅读 · 0 评论 -
Python 函数
Python 函数式编码、高阶函数原创 2023-02-20 11:30:00 · 390 阅读 · 0 评论 -
Python 分支与循环
range([start, ] stop [, step=1])函数,可以用来创建一个整数列表,常与 for 语句搭配。当有多个条件时,总是用 if 判断,不是那么方便。为了偷懒,我们引入了 elif,即 if - else 的简写。continue 语句用于终止本次循环,再继续下一次循环,再进行下一次循环之前会判断循环条件。for 循环语句是另一种循环语句,对一系列对象进行循环迭代,遍历序列中的每个元素。break 语句的作用就是终止循环,退出循环。条件为真,循环体一直执行。原创 2023-02-19 20:37:01 · 301 阅读 · 0 评论