
python
carryxu123456
这个作者很懒,什么都没留下…
展开
-
ubuntu 安装odoo 10
如果还没有安装git的话,安装git$ sudo apt install git1安装Odoo源码$ cd ~$ mkdir odoo-dev$ cd odoo-dev$ git clone https://github.com/odoo/odoo.git1 2 3 4上面的‘https:’也可以换成‘http:’或者‘git:’安装PostgreSQL数据...翻译 2018-09-26 12:28:46 · 522 阅读 · 0 评论 -
使用virtualenvwrapper管理多个python虚拟环境
安装 virtualenvwrapper:通过 virtualenv 安装虚拟环境,使用是比较麻烦,管理起来也很烦。建议安装 virtualenvwrapper,通过它来使得虚拟环境工作变得方便。安装: 1 pip install virtualenvwrapper 默认 virtualenvwrapper 安装在 /usr/local/bin...转载 2018-09-26 12:12:42 · 227 阅读 · 0 评论 -
python 使用生成器节省内存
生成器 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Pyth...转载 2018-09-06 19:06:46 · 2768 阅读 · 0 评论 -
python性能优化
python为什么性能差:回到顶部 当我们提到一门编程语言的效率时:通常有两层意思,第一是开发效率,这是对程序员而言,完成编码所需要的时间;另一个是运行效率,这是对计算机而言,完成计算任务所需要的时间。编码效率和运行效率往往是鱼与熊掌的关系,是很难同时兼顾的。不同的语言会有不同的侧重,python语言毫无疑问更在乎编码效率,life is short,we use python。 ...转载 2018-08-31 17:27:40 · 229 阅读 · 0 评论 -
高质量Python代码编写的5个优化技巧
由此,我总结了多年来自己所编写的 Python 代码的质量变化过程。它们变得更加简洁、健壮、易读。但是什么原因使得 Python 代码变得更好呢?在本文中笔者将与大家共同探讨一些 Python 代码的优化手段,或大或小。希望以此帮助你提高 Python 代码的质量。当然,这些方式也可以适用于其他编程语言和技术。1. 将代码设置为可通过 PIP 安装的软件包当你想要使用一个新的 Pyth...转载 2018-08-31 17:20:30 · 206 阅读 · 0 评论 -
python 协程
在学习异步IO模型前,我们先来了解协程。协程,又称微线程,纤程。英文名Coroutine。协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用。子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕。所以子程序调用是通过栈实现的,一个线程就是执行一个子程序。子程序调用总是...转载 2018-08-27 17:43:50 · 111 阅读 · 0 评论 -
python 使用type动态创建类
动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。比方说我们要定义一个Hello的class,就写一个hello.py模块:class Hello(object): def hello(self, name='world'): print('Hello, %s.' % name)当Python解释器载入hello模块时...转载 2018-08-27 17:02:43 · 1490 阅读 · 1 评论 -
python 多层装饰器的规则和执行顺序
import functoolsdef decorator_a(func): print 'Get in decorator_a' @functools.wraps(func) def inner_a(*args, **kwargs): print 'Get in inner_a' return func(*args, **kwargs...原创 2018-08-27 10:32:14 · 487 阅读 · 0 评论 -
python 多层装饰器
前言Python 的装饰器能够在不破坏函数原本结构的基础上,对函数的功能进行补充。当我们需要对一个函数补充不同的功能,可能需要用到多层的装饰器。在我的使用过程中,遇到了两种装饰器层叠的情况,这里把这两种情况写下来,作为踩坑记录。情况1def A(funC): def decorated_C(funE): def decorated_E_by_CA(*args,...转载 2018-08-23 19:06:56 · 216 阅读 · 0 评论