- 博客(21)
- 收藏
- 关注
原创 Python的异步编程
在现代编程中,异步编程已经成为一种非常重要的技术。Python的异步编程(Asynchronous Programming)是一种并发编程的方式,用于在单个线程内处理多个任务,从而提高程序的效率和响应速度。异步编程的核心思想是通过非阻塞的方式处理I/O操作,使得程序在等待I/O操作完成的同时可以继续执行其他任务。
2024-07-28 22:24:21 896
原创 Python的函数重载
在许多编程语言中,如C++和Java,函数重载(Function Overloading)是一个常见的功能。它允许开发者定义多个同名但参数不同的函数。然而,Python作为一种动态类型语言,没有内置的函数重载机制。但这并不意味着我们不能实现类似的功能。我们可以通过一些技巧和设计模式来实现类似于函数重载的效果,接下来我们一起来看看Python怎么实现函数重载。我们在Python中常用的重载方式,应该就是以上三种。
2024-07-20 22:51:17 676
原创 Python的反射和自省
我们知道Python是一门动态语言,这意味着我们可以在程序运行时检查、修改和操作程序的结构。反射和自省是实现这一功能的重要技术。接下来我们就来聊一聊反射和自省。P反射和自省是Python的重要特性,Python也提供了强大的工具,使得我们可以在运行时动态地检查和修改程序的行为。理解和掌握这些技术,对于编写灵活、动态和高效的Python程序至关重要。
2024-07-18 10:45:10 341
原创 Python的实例、类方法和静态方法
在Python的类中,我们可以提供三种不同类型的方法来实现我们的功能,分别是实例方法、方法和静态方法。不同类型的方法有着不同的实现和功能,也有不同的使用场景,在面试中也会经常被问到,接下来我们一起来聊一下这三者的细节。了解和正确使用 Python 中的静态方法、类方法和实例方法,可以编写更清晰、更有组织的代码,这些代码易于维护和扩展。每种方法类型都有其独特的用途,掌握何时使用每种方法类型有助于确保您的 Python 代码库保持高效和可扩展。
2024-07-17 18:27:07 416
原创 Python的对象引用和垃圾回收
Python 作为一门高级编程语言,以其简洁易用的语法和强大的功能深受开发者喜爱。在使用 Python 进行开发时,理解其内存管理机制,尤其是对象引用和垃圾回收,对于编写高效且内存友好的代码至关重要。接下来我们简单探讨一下Python的对象引用和垃圾回收。理解 Python 的对象引用和垃圾回收机制是编写高效 Python 代码的基础。引用计数和垃圾回收共同构成了 Python 的内存管理体系,确保程序能够高效运行并合理利用内存。通过善用这些机制,我们可以避免内存泄漏,优化程序性能,提升代码质量。
2024-07-16 15:00:42 788
原创 基于Flask实现用户登录鉴权模块
使用Flask实现一个简单的用户鉴权模块,后端数据库使用Sqlite,在业务上主要包括用户管理、权限管理。用户角色主要分为管理员(admin) 普通用户(user) 访客(guest)为求方便,不考虑注册功能实现)
2024-07-13 23:22:01 1442
原创 Python的继承
在面向对象编程(OOP)中,继承是一个强大且重要的概念。它允许我们基于现有类创建新类,从而实现代码的重用和结构化。本文将深入探讨Python中的继承,包括其基本概念、使用方法以及高级技巧。继承是一种机制,通过它,一个类(子类)可以继承另一个类(父类)的属性和方法。子类不仅可以使用父类的所有功能,还可以增加新的功能或者重写父类的功能。继承是Python面向对象编程中的一个核心概念,它使得代码更加模块化和可重用。通过理解和正确使用继承,我们可以创建更加复杂和功能丰富的程序。
2024-07-10 14:11:36 962
原创 git版本回退
Git 版本回退通常指的是将整个代码库回退到之前的某个提交状态。这可以通过git reset命令来实现。下面是具体的步骤通过上面简单两步,就可以回退到指定的版本了。
2024-07-09 15:18:30 210
原创 Python的同步原语
在多线程编程中,同步原语(synchronization primitives)是确保线程安全和正确执行的关键。Python 提供了一些基础的同步原语,用于协调线程之间的访问和操作。Python的同步原语包括 Lock、RLock、Semaphore、Event 和 Condition,接下来简单介绍一下他们的使用Python 和其他语言哟杨,同步原语为多线程编程提供了强大的工具,以确保线程安全和正确执行。
2024-07-09 14:01:01 504
原创 Python的进程、线程、协程总结篇
进程:适用于CPU密集型任务,比如多路视频流处理,能够利用多核优势,但开销较大。线程:适用于I/O密集型任务,开销较小,但受GIL限制,无法实现真正的并行计算。协程:适用于I/O密集型任务,切换开销极低,但只能在单线程中运行。
2024-07-05 21:53:04 225
原创 Python的协程
在现代编程中,并发编程变得越来越重要。为了更有效地利用计算资源和提高程序的响应速度,开发者们需要掌握各种并发编程技术。Python 作为一门广泛使用的编程语言,自然也提供了多种并发编程的方法,其中协程(coroutines)是一个非常强大且灵活的工具。协程是一种比线程更加轻量级的并发编程方式,它允许函数在执行过程中暂停并恢复,从而使得多个任务可以交替进行。与线程不同的是,协程的切换完全由程序控制。
2024-07-05 17:49:54 558
原创 Python的线程
在Python中,线程(Thread)是比进程更轻量级的执行单位。一个进程可以包含多个线程,它们共享进程的内存空间和资源。Python提供了threading模块来创建和管理线程。线程是进程中的一个独立执行路径,一个进程可以包含多个线程,它们共享进程的资源和内存空间。在上面的使用中,不知道你发现没有,Python中线程和进程的使用语法上,基本是一样的,事实上,Python也是尽量保持两者语法上的一致性,到线程和进程是两个不同的概念。线程是执行单元进程是资源平台,但这两都是由操作系统来调度。
2024-07-04 10:22:56 418
原创 Python的进程
在Python中,进程(Process)是独立运行的程序实例,每个进程有自己独立的内存空间、文件描述符等资源。Python提供了multiprocessing模块用于多进程编程,可以方便地创建和管理进程。进程是操作系统分配资源和调度的基本单位。每个进程都有自己的内存空间,独立运行,并且无法直接与其他进程共享内存。进程的优点是稳定性高,一个进程的崩溃不会影响其他进程。缺点是进程间通信(IPC)比较复杂,且创建和切换进程的开销较大。我们电脑中每一个独立的应用,都是一个进程。牢记一点,进程是资源平台,是。
2024-07-04 09:44:05 160
原创 Python的深复制和浅复制
在Python编程中,理解对象的复制是至关重要的。Python提供了两种主要的复制方法:浅复制(shallow copy)和深复制(deep copy)。这两种方法在处理可变对象时有着显著的区别。下面我们简单看一下两者的使用。千夫指是指创建一个新对象,这个新对象是原对象的一部分或者全部的副本,但对于原对象中嵌套的对象(比如列表中的列表),浅复制仅仅复制它们的引用,也就是说浅复制不会递归复制所有的子对象。深复制则是创建一个新对象,并递归地复制所有子对象。
2024-06-24 16:37:33 340
原创 Python的可变类型和不可变类型
在编程语言中,数据类型是一个非常重要的概念。在 Python 中,数据类型分为两类:可变类型和不可变类型。理解这两类数据类型之间的区别及其使用场景,对于编写高效和可靠的代码至关重要。可变类型是指其值可以直接修改的类型。对这些对象的任何修改都会直接影响到原有的对象。列表(list)字典(dict)集合(set)下面以列表为示例,看一下可变类型特性print(lst1) #输出 [1,2,3,4]print(lst2) #输出 [1,2,3,4]print(True) #输出 True。
2024-06-22 14:26:44 389
原创 Python的with上下文管理
with我们可以使用__enter__和__exit__方法实现一个自定义的上下文管理器,下面示例实现一个简单的文件管理器# 处理异常(可选)# 返回 True 表示异常已处理,不再传播;返回 False 表示异常未处理,继续传播。
2024-06-19 10:51:00 393
原创 Python的装饰器和闭包
闭包是指在一个内部函数中,引用了外部函数的变量。即使外部函数已经返回,内部函数依然可以访问这些变量。外部函数一般返回内部函数。装饰器是一个函数,它接受另一个函数作为参数,并返回一个新函数。装饰器常用于在不改变原函数代码的情况下,扩展或修改函数的行为。
2024-06-18 09:24:11 467
原创 Python的迭代器和生成器
迭代器是实现了迭代器协议的对象,简单来说,就是实现了__iter__()和__next__()两个魔法函数(注:实现了**应该也是迭代器)。迭代器用于逐个访问容器的元素,而不用暴露容器的底层表示。生成器是简化迭代器创建的一种方法。生成器是使用yield关键字的函数,可以在每次迭代时生成一个值,而不是一次性返回所有值。生成器在每次生成值后会自动暂停并记住其位置,下一次调用时从暂停处继续执行。生成器可以理解为一种特殊的迭代器。
2024-06-17 21:41:14 285
原创 程序员为什么不喜欢关电脑
重新启动电脑可能会导致这些环境设置丢失或者需要重新配置,这会耗费额外的时间和精力。虽然程序员可能不喜欢频繁地关电脑,但他们通常会定期关机或重新启动电脑以确保系统的稳定性和性能。同时,他们也会采取一些措施来最大程度地减少电脑的功耗,如设置合理的睡眠模式或使用节能模式。程序状态保存: 关闭电脑意味着关闭正在进行的程序和编辑器,这可能导致未保存的工作丢失。进程中的任务: 程序员通常会有一些长时间运行的任务,如编译大型项目、运行测试套件、训练机器学习模型等。关闭电脑可能会中断他们的工作流程,影响工作效率。
2024-02-19 17:07:00 163
基于flask+sqlite实现的用户权限管理系统
2024-07-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人