![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
Lechrond
吉良吉影只想过平静的生活
展开
-
Python虚拟环境管理
安装virtualenvpip install virtualenv创建虚拟环境virtualenv [虚拟环境的名字]进入环境windows进入虚拟环境的Scripts文件夹中,然后执行activate*nix进入虚拟环境source /path/to/virtualenv/bin/activate退出虚拟环境deactivate创建环境时指定Python解释器vir...原创 2019-04-11 12:29:56 · 186 阅读 · 0 评论 -
Python可迭代对象和迭代器
基本概念可迭代对象是可以通过"for…in…"遍历的对象,需要实现__iter__()的方法,并且这个方法要返回一个迭代器。迭代器用来返回数据,需要实现__next__()和__iter__()方法,如果迭代器没有返回值了,next()方法就会抛出一个StopIteration异常。判断一个对象是否是可迭代对象from collections import Iterable# 可迭...原创 2019-09-28 23:30:34 · 75 阅读 · 0 评论 -
Python生成器
为什么需要生成器假如现在有一个需求,我要打印从1-1亿的整形。如果我们采用普通的方式,直接调用range函数,那么程序肯定会崩溃,因为range(1,100000000)函数直接产生一个从1-1亿的列表,这个列表中的所有数据都是存放在内存中的,会导致内存爆满。这时候我们可以采用生成器来解决这个问题,生成器不会一次性把所有数据都加载到内存中,而是在循环的时候临时生成的,循环一次生成一个,所以在程序...原创 2019-09-29 12:28:04 · 181 阅读 · 0 评论 -
Python中的不定数量的函数参数
*args 和 **kwargs首先并不是必须写成*args 和**kwargs。 只有变量前面的 *(星号)才是必须的,不过更建议使用这两个名字,可以让别的程序员更容易理解。*args*args 是用来发送一个非键值对的可变数量的参数列表给一个函数。def var_args(f_arg, *argv): print("first arg:", f_arg) for arg...原创 2019-09-29 20:43:27 · 717 阅读 · 0 评论 -
Python装饰器
闭包要理解Python的装饰器,首先需要理解闭包的概念。闭包的定义如果在一个函数中,定义了另外一个函数,并且这个函数使用了外面函数的变量,而且外面那个函数返回了里面这个函数的引用,那么称为里面的这个函数为闭包。def greet(name): print("This is out") def say_hello(): print("My name is %s...原创 2019-09-29 22:51:15 · 79 阅读 · 0 评论 -
Python3中的__new__()方法
__new__方法是用来创建对象的,而__init__方法是用来初始化类对象的,因此__new__方法的会先于__init__方法执行。__new__方法可以用来实现python中的单例设计模式,但是在Python3中,__new__方法的写法有所改变:class User(object): __instance = None def __new__(cls, *args, ...原创 2019-10-02 16:42:31 · 853 阅读 · 0 评论 -
Python3中的比较运算魔术方法
在Python3中,如果我们自定义了一个类,当我们需要比较两个类对象的大小时,就需要我们自定义比较的方法,但是在Python2中可以很方便使用的__cmp__方法在python3中已经被废弃了,需要我们单独实现别的比较方法。== 和 !=判断两个对象是否相等需要我们重载__eq__或者__ne__方法,可以只实现其中一种就实现判断==和!=。class Person(object): ...原创 2019-10-04 13:51:28 · 374 阅读 · 0 评论 -
Python的property装饰器
在别的语言中,例如Java和C++,在实现类时都会实现get和set方法来控制私有属性的改变,防止我们直接在代码中使用.操作符来改变属性值,以至于导致不可预料的错误和后果。在python中有另外的实现思路,这就是property装饰器。例如下面的代码:class Plane(object): """" 模拟飞机大战 """ def __init__(self...原创 2019-10-04 14:30:03 · 181 阅读 · 0 评论