Mkdir700's Note

Mkdir700's Note

Python技巧

如何在 Python 中混合使用同步和异步函数?

如何在 Python 中混合使用同步和异步函数?

异步编程可以提高应用程序的性能和吞吐量,因为它可以充分利用 CPU 和 I/O 资源。当某个任务被阻塞时,事件循环可以切换到另一个任务,从而避免浪费 CPU 时间。此外,异步编程还可以简化代码,使其更易于维护和调试。我们最常用的是同步编程,在同步场景中,某个任务被阻塞时,整个线程都会被挂起,直到
838
0
3
2023-03-26
Python 泛型 - 如何在实例方法中获取泛型参数T的类型?

Python 泛型 - 如何在实例方法中获取泛型参数T的类型?

本文探讨了在 Python 中如何在实例方法中获取泛型参数 T 的类型。首先介绍了通过 typing 库中的 get_args 和 get_origin 函数来获取类型的泛型参数和原始类。然后以示例代码说明了在类内部通过 self.__orig_class__ 获取原始类的方法。接着通过分析 Generic 源码解释了为什么必须在 __init__、__new__ 之后才能使用。最后简要分析了 Generic 的源码结构,讲解了 _GenericAlias 的初始化和 __call__ 方法。文章关键词:Python 泛型 - 如何在实例方法中获取泛型参数T的类型?, Python, Python技巧。
1087
0
1
2023-02-23

原来 Python 也有重载

Python作为一门动态语言,其实并不需要重载,但是如果你愿意的话,可以显式的声明重载。先简单介绍下什么是重载(Overload)。重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。提出问题简单的举个例子。现在有一个get函数,接收参数v,v的类型
Tec
576
0
2
2022-05-03

Python中的泛型

不知道从什么时候起,我写Python代码习惯给变量加上类型注解。这虽然降低了Python的灵活性,但确确实实在后续维护的过程中提供了很好的帮助。第一次听到泛型这个词,是在Java中了解到的,但具体做什么,有什么作用,都是比较模糊的。因为我本身对Java只是了解并且也没有用Java做过什么实际项目,所
Tec
1136
1
1
2022-04-17