
python
进击的怒汉
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python多线程中只初始化一次的单例模式
python中的单例可以利用__new__和__init__来实现。每次创建实例的时候总会获得同一个实例,但是每次也会执行__init__方法。这就会造成单例中的属性会被修改,更重要的是实例会被重新初始化。有时候我们并不希望再次初始化实例,我们希望直接获得已经创建好的实例。应用类变量和锁机制,可以实现需求。原创 2020-08-24 14:35:07 · 1773 阅读 · 0 评论 -
pyhive数据库连接池使用
python连接hive的工具可以用 pyhive 和 impala,不管是哪个配置都比较麻烦。需要的依赖包比较多。https://github.com/cloudera/impyla https://github.com/dropbox/PyHivepyhive模块没有提供数据库连接池的API。所以自己根据模块 mysql-connector-python 的连接池改装了一个 pyhive 的连接池,效率会提升不少。连接池介绍import refrom pyhive import hi原创 2020-05-19 21:39:09 · 1728 阅读 · 0 评论 -
cx-Oracle数据库连接池使用
连接池介绍官方网站介绍:https://cx-oracle.readthedocs.io/en/latest/user_guide/connection_handling.html官网上的介绍比较详细,也比较清晰。使用起来非常方便。连接池代码样例from contextlib import contextmanagerimport cx_Oracleimport osoracle_config = { 'username': '***', 'password':原创 2020-05-19 14:38:00 · 1998 阅读 · 1 评论 -
mysql-connector-python数据库连接池使用
连接池介绍官方网站介绍:https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlconnectionpool.htmlPooledMySQLConnection、MySQLConnectionPool、MySQLConnection三者的关系:MySQLConnectionPool的 add_connection 方法会把连接(MySQLConnection的实例)会放入连接池中(MySQLConne..原创 2020-05-18 22:13:57 · 4279 阅读 · 2 评论 -
psycopg2数据库连接池使用
python操作pgsql数据库时使用psycopg2模块连接。为了提高连接效率和复用连接资源经常使用连接池。本博客简单介绍数据连接池基本情况,并解释其中常见的失败信息,提供了连接池的代码样例。原创 2020-05-18 19:43:42 · 5416 阅读 · 1 评论 -
python中的协程
目录什么是协程?asyncio模块举个例子解密协程运行时协程是实现并发编程的一种形式。说起并发编程就容易想到多进程/线程编程,最初的互联网中,多进程/线程在服务器并发中起到了举足轻重的作用。随着互联网的快速发展,当同一时间连接到服务器的客户量达到一万,也就是C10K瓶颈。于是很多代码跑崩了,进程的上下文切换占用了大量的资源,线程也顶不住这么大的压力。于是NGINX站了出...转载 2019-07-10 21:56:32 · 264 阅读 · 0 评论 -
ImportError: cannot import name 'TYPE_CHECKING'
import aiohttp报错内容:Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> import aiohttp File "D:\Python\Python35\lib\site-packages\aiohttp\__init__.py", ...原创 2019-07-10 21:29:51 · 5900 阅读 · 0 评论 -
辗转相除求最大公约数
辗转相除法求两个数的最大公约数(Greatest common divisor,GCD),在公元前300年前由欧几里得发现,被称为世界上最古老的算法。原创 2019-06-24 17:37:01 · 388 阅读 · 0 评论 -
python中的metaclass
metaclass传说metaclass在python中是个“逆天”的存在,有人认为它是“阿拉丁神灯”,无所不能;有人认为它是“潘多拉魔盒”,会蛊惑程序员去滥用,释放“恶魔”,然后悲剧就产生了。就连硅谷一线大厂要想使用metaclass都得需要特批。深入理解它的python开发人员占比不到0.1%。它会带来好处也容易带来灾难,只有深入了解它,才能使用好它。看了一些资料,结合自己的测试,把它...转载 2019-06-22 20:34:56 · 14010 阅读 · 9 评论 -
Fatal error in launcher: Unable to create process using
把一台电脑中python安装目录的Scripts文件夹下的.exe文件复制到了另一台电脑的python安装目录Scripts文件夹中。两台电脑python安装位置不相同造成了这个错误。.exe文件记录了原来python.exe的位置,换了.exe文件的位置之后它找不到正确的python.exe的位置,所以会报错。注意看报错信息中的python.exe的位置和.exe文件的位置。所以可以将两...原创 2019-06-05 21:13:24 · 825 阅读 · 0 评论 -
迷宫
利用队列,广度优先,先得到的路径就是最短路径迷宫maze用矩阵表示,用0表示无障碍,1表示有障碍,2表示此位置已走过。字典path_dic记录当期位置的上一位置,当找到最短路径时,可以通过end位置追溯到start位置,这就是最短路径。from queue import Queuedirs=[(0,1),(1,0),(0,-1),(-1,0)] #表示4个相邻的位置def...原创 2019-05-05 11:14:55 · 206 阅读 · 0 评论 -
几种常见的排序(python3)
排序#插入排序#选择排序#起泡排序#快速排序#归并排序#下面讨论的排序算法时,使用的实例数据结构就是一个表,假定表中元素是下面定义的record类的对象class record: def __init__(self,key,datum): self.key=key self.datum=datuma=r...原创 2019-04-18 11:01:41 · 405 阅读 · 0 评论 -
python中的赋值、浅拷贝、深拷贝
在python中,对象赋值实际上是对象的引用。当创建一个对象,然后把它赋给另一个变量的时候,python并没有拷贝这个对象,而只是拷贝了这个对象的引用import copya=[1,2,['x','y']]b=ac=copy.copy(a)d=copy.deepcopy(a)print('id(b)==id(a) ',id(b) == id(a)) #Trueprint('i...原创 2019-04-17 10:48:02 · 162 阅读 · 0 评论