Python

以后就玩Python了。交流QQ群:250329766

Python标准库abc介绍

很多书都没有提到abc。python本身并没有抽象类,抽象函数。它是能过标准库abc提供的。 以前也热衷于造轮子,现在越来越趋向于去熟悉有哪些轮子,能不造则不造,这样开发起来效率快多了。 用于写代码的时候越少,用于思考的时间就越多。 之前看到的几本书,<python标准库>,<python绝技:运用python成为顶级黑客>,<Head+First+Python(中文版)>,,都没有看到abc库。 直到<python学习手册>里才看到。这本书我也是极力推荐阅读的。 最近看到的<Python高手之路>更是极力推荐abc库,说是大多数人居然不知道abc库的存在,还自己去造轮子。

Python3标准库urllib

做web开发的,和http请求打交道最多了,不得不熟悉的就是urllib。当然爬虫也经常用。并且有好的第三方库requests。 本文就介绍这些东东。

解决pip安装慢

在学习Python的过程中,发现pip安装慢,经常timeout,因为国外镜像太慢了。 网上找了下解决方案。有两个。都是使用国内镜像。

emacs 一文入门

一直是用vim的,之前虽然知道有emacs,也知道emacs和vim之争,印象中只有一句话:"vim是编辑器之神,emacs是神的编辑器。" 那会试了下emacs,不知道怎么关闭,直接强关的终端。 看了《黑客与画家》后,看作者对lisp的推崇,产生了点兴趣,百科了下。发现说法看得我晕了,当时放弃了。之后又看到本书 《程序员的呐喊》,一个google工程师写的。也是比较推荐lisp。然后各种搜索看大家的看法。兴趣又调了起来。于是开始学习, 发现教程都是以emacs开始的,于是也学习了emacs,折腾了一天一夜,终于觉得可以开始实际用起来了。于是开始写这个笔记了。

mac下python编辑器

选择一款合适的编辑器有助于快速开发。 本文将会介绍3个。PyCharm、vim、emacs。 笔者在mac osx下这三个都用过,依次接触的vim,emacs,PyCharm。 后面两个是资深党用的,不建议初学者玩。 我个人是打算用emacs,然后用vim的编辑模式。

Python信号相关概念及运用

信号是软件中断。信号提供了一种处理异步事件的方法。 不存在编号为0的信号。kill函数对信号编号0有特殊的应用。POSIX.1将此信号编号值称为空信号。 很多条件可以产生信号: 当用户按某些按键时,引发终端产生的信号。(DELETE,Ctrl+C,Ctrl+\,Ctrl+Z)。这些键可以自定义。 硬件异常产生信号:除数为0、无效的内存引用等。 进程调用kill(2)函数可将信号发送到另一个进程或进程组。有限制:只能发送给同一用户的进程,或者发送信号的进程所有者是超级用户。 用户可用kill(1)命令将信号发送给其他进程。 当检测到某种软件条件发生,并应将其通知有关进程时也产生信号。例句SIGURG、SIGPIPE、SIGALRM。

Python多进程相关概念及解释

由于GIL的存在,为了利用多核的优势,Python程序员不得不使用多进程。(多线程在PYthon中仅在IO密集型任务中有优势)。 Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情。借助这个包,可以轻松完成从单进程到并发执行的转换。multiprocessing支持子进程、通信和共享数据、执行不同形式的同步,提供了Process、Queue、Pipe、Lock等组件。

python多线程相关概念及解释

多线程是为了抢占资源而设计的。同样作用的有多进程,不过因为线程的创建和切换代价远比进程低,一般是选择线程来执行多任务。因为线程会共享进程内的资源,为了处理多个线程处理相同的资源,又多出了锁的概念。 而本身线程的创建其实也是有代价的,为了避免反复的创建和销毁,又有了线程池的概念。

blog_mini bug修复记录1

发现有篇文章只显示了一半。编辑之后再发布,还是只有一半。另外发布的时候感觉比较慢。

python之logging模块

logging模块是用来做日志记录的。 logging.config用来配置。 logging.handlers用来处理日志,可以是屏幕输出,可以是写文件(文件又可以自动切割文件),可以是发邮件。