2019-01-09 张炎泼
工作面试是个很有意思的过程, 面试经常是一个对未知领域初步了解的最好时机(对双方都是), 面试官和面试人通常也会尽力在最短的时间里表达/接受尽可能多的信息. 因此面试题一般也是比较有趣的: 它浓缩了日常工作中的典型和有挑战性的问题, 而又不会带有太多日常工作中的繁琐. 继续阅读 »
2015-05-07 summer
最近在学习Tkinter的知识,这使用图片时发现不能正常显示,google一下,发现Tkinter默认支持gif格式,使用其他格式的文件需要安装PIL模块。不过在安装过程中出现了一下错误问题: ``` 1 warning generated. clang: warning: -framework Tcl: 'linker' input unused clang: warning: -framework Tk: 'linker' input unused In file included from _imagingtk.c:19: /Applications/Xcode.app/Contents/Developer/Platform 继续阅读 »
2014-08-16 Lingxian Kong
获取一个类的所有子类 代码来源:rally def itersubclasses(cls, _seen=None): """Generator over all subclasses of a given class in depth first order.""" if not isinstance(cls, type): raise TypeError(_('itersubclasses must be called with ' 'new-style classes, not %.100r') % cls) _seen = _se 继续阅读 »
2016-04-27 Li Shuai
GIL 熟悉Python的人对GIL这货可定都不陌生, 全局解释器锁(Global Interpreter Lock)简称GIL, 这货是 Python多线程的核心机制。由于Python的线程实际是操作系统的原生线程,多个线程同时执行同一段字节码可能 会导致很多问题(比如: 内存管理的引用计数需要线程安全机制的保护),于是使用GIL这把大锁锁住其他线程,保 证同一时刻只有一个线程可以解释执行字节码。关于GIL的更多分析, 可以看David Beazley大神的研究。本文主要分析下CPython的GIL在Linux上 基于pthread的实现细节,看完这些源码后能够对GIL有更深入的理解。 GIL的定义 有人可能会想,从GIL的 继续阅读 »
2014-09-22 Golmic
下列代码全部基于python3.4 more ``` python import urllib.parse,urllib.request,http.cookiejar,os,xlrd,xlwt3,time,random print ("######## 确保关闭了所有的EXCEL,运行时不要打开任何EXCEL文件 ########") rfile = xlrd.open_workbook('read.xls') rfile.sheet_names() rsheet = rfile.sheet_by_name(u'Sheet1') resultfilenum = 0 result = str(resultfilenum) 继续阅读 »
2016-02-18 summer
Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。除了对单个进程的控制,还可以同时启动、关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动。 继续阅读 »
2017-05-15 kk
先说说转Java的事 我实习回来没几天, @佛爷 和 @子健 就找我谈换技术栈,我当时还挺郁闷的。 刚转 Python 不到两年,而且 Python 本身就很适合小团队,为啥要换呢? 聊完之后我明白了,关键是 Java “方便找工作”。 @子健 也提到,他在阿里实习生群里统计了一下: 总共两百多人,三十多个前端,七八十个 Java,一百多个算法。Python 在国内还是太小众了, 工作岗位太少,大公司用 Python 也只是做运维之类的工作。 大公司用的后端语言主要还是 Java 和 C++,笔试面试除了考算法,主要也就考这两门语言, 毕业后想去 BAT 的话,转 Java 有很大优势。 继续阅读 »
2018-03-30 MoreFreeze
Table of Contents {:toc} 最近遇到了一些函数式编程的概念,心想我用 Python 的 map reduce 不就是在函数式编程嘛, 但看了半天仍然一头雾水,什么是 UnitBox?flatMap 和 map 差在哪里?于是先学了阮老师的[函数式编程入门教程][1], 唉哟喂,和我原来想的还不一样,Python 这些操作虽然算是函数式编程,但要系统地理解为什么能这样, 还得从头说起。 继续阅读 »
2017-07-02 Borg
什么是 reload 当我们在 python 的交互模式下测试某个类的时候,发现这个类的某个方法有错误进行了修改,而这个方法的输入又依赖于之前在交互模式下的好几个操作,这时要怎么办呢?如果重启交互模式,那么该方法依赖的操作就得重新再来一次,相当麻烦。这时 reload 就能派上用场了。 reload 内建方法用于重新导入一个模块,如果相应的python脚本代码被修改了,用 reload 重新导入后就是修改后的新模块而不需要重启整个程序了。 继续阅读 »
2016-02-02 summer
使用python编写的客户端程序,需要进行打包,所以选择使用pyinstaller进行打包。但是由于一些原因打包的程序要希望可以做到自解压缩格式,同时创建桌面快捷方式,所以就选择使用winrar进行处理。 前提说明,使用pyinstaller打包时,没有打成onefile形式,因为此类型对多进程有些影响。 继续阅读 »