Python
Joobih
Python 高级工程师
展开
-
Go&Python 语言对比学习
一,反射二,垃圾回收Go的垃圾回收官方形容为 非分代 非紧缩 写屏障 三色并发标记清理算法。非分代不像Java那样分为年轻代和年老代,自然也没有minor gc和maj o gc的区别。非紧缩在垃圾回收之后不会进行内存整理以清除内存碎片。写屏障在并发标记的过程中,如果应用程序(mutator)修改了对象图,就可能出现标记遗漏的可能,写屏障就是为了处理标记遗漏的问题。三...原创 2019-12-24 14:23:04 · 896 阅读 · 0 评论 -
python 连接池
###连接池使用使用mysql的时候避免频繁申请mysql的连接造成不必要的开销,可以使用连接池进行避免一,DBUtils库import pymysqlfrom DBUtils.PooledDB import PooledDBfrom common.setting import *from common.single_design import single#需要一个单列模式装饰...原创 2019-01-24 14:54:51 · 1203 阅读 · 0 评论 -
分布式爬虫设计
网上也有很多的分布式爬虫框架的解决方案,下面我就以自己工作的经验进行一些总结: 一,爬虫的技术要点 要向批量抓取某一个大站,你需要自己搭建一套爬虫框架。要考虑封IP问题,考虑图片验证码识别问题,考虑数据处理问题等。 封IP--常见的解决方案基本上就是告诉你抓免费代理,或者购买代理,我这里想到的是如果你有条件有多个路由器,完全可以自己实现一套定时拨号程序来防止IP被封。定...原创 2018-09-13 10:58:57 · 1644 阅读 · 0 评论 -
pyinstaller打包注意事项
一,安装pip3 install pyinstaller二,打包成一个可执行文件pyinstaller -F file.py三,如果代码里面使用了pony orm的话需要在代码里面添加如下代码import pony.orm.dbprovidersimport pony.orm.dbproviders.mysql ...原创 2018-09-13 10:18:45 · 1440 阅读 · 0 评论 -
Python 编程要点 -- with语句
with语句 With 语句是在Python2.5版本开始引入的,通过 from __future__ import with_statement 导入后才可以使用。在2.6版本以后正式成为缺省的功能。 要使用with语句,必须要明白上下文管理器这一概念。上下文管理协议: 包含方法__enter__() 和 __exit__(),支持该协议的对象要实现这两个方法。上下文管理器:原创 2017-06-26 18:47:16 · 530 阅读 · 0 评论 -
Python编程要点-- socket 编程
Socket 编程 每种语言的后端底层都是基于socket编程,Python里面的大概是这样的方式:服务器端:server.pyimport socketdef handle_request(client): buf = client.recv(1024) print buf client.send("Hello World!")def main(): soc原创 2017-06-26 18:12:33 · 298 阅读 · 0 评论 -
Python 编程要点-- 变量和函数传参
Python 变量和函数传参函数参数传递 Python 里面的对象分为可变对象和不可变对象 可变对象:list,dict。 不可变对象:int,string,float,tuple。 当函数定义时如果传递的是不可变对象就是值传递,比如: def func(a): a = a + 10 print a b = 11 func原创 2017-06-20 17:23:26 · 742 阅读 · 0 评论 -
Python 设计模式 -- 单例模式
Python 单例模式 单例模式的意思是在同一个运行环境中一个进程里面,这个类的实例只有一份,该实例也只会初始化一次。 python 语言的单例模式至少可以有4种实现方式:1.使用__new__ 构造函数:class Singleton(object): __instance = None def __new__(cls, *argv, **kwags):原创 2017-06-21 17:18:16 · 272 阅读 · 0 评论 -
Python 编程要点 -- 类方法,静态方法,实例方法,mro机制
Python 类方法,静态方法,实例方法 类方法,静态方法,实例方法都可以通过类名和实例对象访问,如下: 需要注意点一点是类名访问实例方法的时候必须传递实例对象。 注意:函数 只能有类名访问 注意:申明静态方法使用@staticmethod 并且不用加类名或者实例对象作为参数 注意:申明类方法使用@classmethod 并且需要加上cls作为方法参数class A(原创 2017-06-21 15:03:55 · 405 阅读 · 0 评论