Mkdir700's Note

Mkdir700's Note

Python技巧

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

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

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

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

本文介绍了在 Python 中如何利用 `typing` 库中的 `get_args` 和 `get_origin` 函数来获取泛型参数的类型。首先讲解了如何通过 `Dict[str, int]` 这样的表示方式来具体标注字典内键值对的类型,以及如何使用 `get_args` 和 `get_origin` 分别获取泛型参数和原始类。接着详细介绍了在实例方法中如何获取泛型参数 `T` 的实际类型,需要通过 `self.__orig_class__` 属性来获取原始类。最后对 `Generic` 类的源码进行了简要分析,解释了为什么必须在 `__init__` 和 `__new__` 之后才能使用泛型参数的类型。文章关键词包括 Python 泛型和 Python 技巧。
1065
0
1
2023-02-23

原来 Python 也有重载

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

Python中的泛型

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