Python

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

Python概览

欢迎进入Python的世界,第一件事请习惯,我们不用{}, 我们用缩进。 用缩进的请注意,空格和tab不能混用。 注意到了这个,你就能避免下面的错误

python安装pymssql报错

之前想玩下Sqlserver结果安装报错,就放弃了。 mssql.c:18814:15: error: use of undeclared identifier 'DBVERSION80' 今天想解决这个问题,通过百度找到原因和办法。

Python3支持策略

关于移植应用的官方文档(http://zeromq.org/)是有的,但不建议不折不扣地参考它。 最好还是兼容py2和py3,然后有够用的单元测试。 通过tox,来测试两个版本。 tox -e py27, py35 根据提示的错误进行修改,重新运行tox,直到所有测试都通过为止。

Python专题之RDBMS和ORM

RDBMS = Relational DataBase Management System, 关系型数据库管理系统。 ORM = Object-Relational Mapping, 对象关系映射。 RDBMS是关于将数据以普通表单的形式存储的,而SQL是关于如何处理关系代数的。 二者结合就可以对数据进行存储,同时回答关于数据的问题。然而,在面向对象程序中使用ORM有许多常见的困难,统称为对象关系阻抗失配(object-relational impedance mismatch, http://en.wikipedia.org/wiki/Object-relational_impedance_mismatch)。 根本在于,关系型数据库和面向对象程序对数据有不同的表示方式,彼此之间不能很好地映射:不管怎么做,将SQL表映射到Python的类都无法得到最优的结果。 ORM应该使数据的访问更加容易,这些工具会抽象创建查询、生成SQL的过程,无需自己处理。但是,你迟早会发现有些想做的数据库操作是这个抽象层不允许的。为了更有效地利用数据库,必须对SQL和RDBMS有深入了解以便能直接写自己的查询而无需每件事都依赖抽象层。

Python专题之扩展与架构

一个应用程序的可扩展性、并发性和并行性在很大程度上取决于它的初始架构和设计的选择。如你所见,有一些范例(如多线程)在Python中被误用,而其他一些技术(如面向服务架构)可以产生更好的效果。

Python专题之性能与优化

Python慢是大家都知道的,他释放的人的生产力问题。 但是通过正确的使用Python,也是可以提高效率的。

Python抽象语法树

抽象语法树(Abstract Syntax Tree, AST)是任何语言源代码的抽象结构的树状表示,包括Python语言。 作为Python自己的抽象语法树,它是基于对Python源文件的解析而构建的。

Python 多版本共存之 pyenv

经常遇到这样的情况: 系统自带的 Python 是 2.6,自己需要 Python 2.7 中的某些特性; 系统自带的 Python 是 2.x,自己需要 Python 3.x; 此时需要在系统中安装多个 Python,但又不能影响系统自带的 Python,即需要实现 Python 的多版本共存。pyenv 就是这样一个 Python 版本管理器。

Python函数式编程

函数式编程具有以下实用的特点。 可形式化证明。 模块化。模块化编码能够在一定程度上强制对问题进行分治解决并简化在其他场景下的重用。 简洁。 函数式编程通常比其他范型更为简洁。 并发。 纯函数式函数是线程安全的并且可以并行运行。 可测性。测试一个函数式程序是非常简单的:所有需要做的仅仅是一组输入和一组期望的输出。而且是幂等的。

Python方法和装饰器

装饰器真的很重要,再怎么强调都不为过。