python教程
文章平均质量分 64
Arthurlzyw
这个作者很懒,什么都没留下…
展开
-
Python字典如何创建
创建和使用字典 字典由多个键以及对应值构成 “键-值” 对组成(“键-对” 通常也叫做 “项”),每个键和他的值之间用冒号(:)隔开,项之间用逗号(,)隔开,而整个字典是由一对大括号括起来的。空字典(不包括任何项)由两个大括号组成。 phonebook = {‘Alice’:‘15868171095’,‘Jack’:‘523145’,‘Arthur’:‘1234567’}原创 2017-09-13 22:52:36 · 14305 阅读 · 1 评论 -
Python 容器(Collections)
1.容器(Collections)Python附带一个模块,它包含许多容器数据类型,名字叫作collections。我们将讨论它的作用和用法。我们将讨论的是:defaultdictcounterdequenamedtupleenum.Enum (包含在Python 3.4以上)2.defaultdict我个人使用defaultdict较多,与dict类型不同原创 2017-10-16 17:59:12 · 249 阅读 · 0 评论 -
python 推导式
1.各种推导式(comprehensions)推导式(又称解析式)是Python的一种独有特性,如果我被迫离开了它,我会非常想念。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 共有三种推导,在Python2和3中都有支持:列表(list)推导式字典(dict)推导式集合(set)推导式我们将一一进行讨论。一旦你知道了使用列表推导式的诀窍,你就能轻易使用任意一种原创 2017-10-16 22:31:08 · 286 阅读 · 0 评论 -
python 异常
1.异常异常处理是一种艺术,一旦你掌握,会授予你无穷的力量。我将要向你展示我们能处理异常的一些方式。最基本的术语里我们知道了try/except从句。可能触发异常产生的代码会放到try语句块里,而处理异常的代码会在except语句块里实现。这是一个简单的例子:try: file = open('test.txt', 'rb')except IOError as e:原创 2017-10-16 22:44:52 · 231 阅读 · 0 评论 -
python lambda
lambda表达式lambda表达式是一行函数。它们在其他语言中也被称为匿名函数。如果你不想在程序中对一个函数使用两次,你也许会想用lambda表达式,它们和普通的函数完全一样。原型 lambda 参数:操作(参数)例子 add = lambda x, y: x + y print(add(3, 5)) # Output: 8原创 2017-10-16 22:48:19 · 200 阅读 · 0 评论 -
python 如何将CSV转换为json
在命令行执行这条指令 python -c "import csv,json;print json.dumps(list(csv.reader(open('csv_file.csv'))))"确保更换csv_file.csv为你想要转换的csv文件原创 2017-10-16 22:51:43 · 7110 阅读 · 0 评论 -
如何在python中调用C语言代码
1.使用C扩展CPython还为开发者实现了一个有趣的特性,使用Python可以轻松调用C代码开发者有三种方法可以在自己的Python代码中来调用C编写的函数-ctypes,SWIG,Python/C API。每种方式也都有各自的利弊。首先,我们要明确为什么要在Python中调用C?常见原因如下: - 你要提升代码的运行速度,而且你知道C要比Python快50倍以上 - C语言原创 2017-10-16 22:58:38 · 34203 阅读 · 6 评论 -
python open函数
open函数open 函数可以打开一个文件。超级简单吧?大多数时候,我们看到它这样被使用:f = open('photo.jpg', 'r+')jpgdata = f.read()f.close()我现在写这篇文章的原因,是大部分时间我看到open被这样使用。有三个错误存在于上面的代码中。你能把它们全指出来吗?如不能,请读下去。在这篇文章的结尾,你会知道上面的代码错在哪里原创 2017-10-17 10:09:02 · 1824 阅读 · 0 评论 -
python 协程
协程Python中的协程和生成器很相似但又稍有不同。主要区别在于: 生成器是数据的生产者 协程则是数据的消费者首先我们先来回顾下生成器的创建过程。我们可以这样去创建一个生成器: def fib(): a, b = 0, 1 while True: yield a a, b = b, a+b原创 2017-10-17 10:25:28 · 244 阅读 · 0 评论 -
python 上下文管理器
1.上下文管理器(Context managers)上下文管理器允许你在有需要的时候,精确地分配和释放资源。使用上下文管理器最广泛的案例就是with语句了。想象下你有两个需要结对执行的相关操作,然后还要在它们中间放置一段代码。上下文管理器就是专门让你做这种事情的。举个例子:with open('some_file', 'w') as opened_file: o原创 2017-10-17 10:33:10 · 445 阅读 · 0 评论 -
ImportError: No module named _markerlib (Python安装第三方库时出现的错误)
当我试着安装第三方库时,报错如下:(flask) arthur@arthur-CW65S:~/microblog/flask/bin$ pip install --upgrade distributeCollecting distribute Using cached distribute-0.7.3.zip Complete output from command python s...原创 2018-03-18 18:37:23 · 5584 阅读 · 0 评论 -
AttributeError: ‘module’ object has no attribute ‘load_dotenv
AttributeError: ‘module’ object has no attribute ‘load_dotenv’I needed to use the dotenv module in Python. I tried the usual pip install dotenvWohoo! I was able to import dotenv without any trouble. I...转载 2018-03-18 19:17:29 · 2409 阅读 · 0 评论 -
Django虚拟环境配置
环境win10家庭版64位 + python 3.5 + Django 1.8.21.创建virtualenv目录 开始/运行/cmd回车,进入cmd窗口,到自己指定的目录下创建virtualenv目录D:\python\django_project>mkdir mysiteD:\python\django_project>cd mysite2.安装virtuale转载 2017-10-11 13:32:27 · 736 阅读 · 0 评论 -
python __slot__的用法
__slots__魔法在Python中,每个类都有实例属性。默认情况下Python用一个字典来保存一个对象的实例属性。这非常有用,因为它允许我们在运行时去设置任意的新属性。然而,对于有着已知属性的小类来说,它可能是个瓶颈。这个字典浪费了很多内存。Python不能在对象创建时直接分配一个固定量的内存来保存所有的属性。因此如果你创建许多对象(我指的是成千上万个),它会消耗掉很多内存。原创 2017-10-16 12:47:51 · 10947 阅读 · 0 评论 -
python 赋值变量和赋值对象的可变性
对象变动(Mutation)Python中可变(mutable)与不可变(immutable)的数据类型让新手很是头痛。简单的说,可变(mutable)意味着"可以被改动",而不可变(immutable)的意思是“常量(constant)”。想把脑筋转动起来吗?考虑下这个例子:foo = ['hi']print(foo)# Output: ['hi']bar = foobar原创 2017-10-16 12:33:16 · 454 阅读 · 0 评论 -
Python字典方法
就像其他内建类型一样,字典也有方法。这些方法非常有用,但是可能不会像列表或者字符串方法那样被频繁使用,以下是一些具体的方法。1.clear clear方法清除字典中所有的项。这是个原地操作(类似于list.sort),所以无返回值(或者说返回None) 下面来分析以下两种情况: 第一种:原创 2017-09-14 22:37:33 · 350 阅读 · 0 评论 -
Python迭代工具
在Python中迭代序列时,有一些函数非常好用。有些函数位于itertools模块中,还有一些Python的内建函数十分方便1.并行迭代 程序可以同时迭代两个序列。比如有下面两个列表: 如果想要打印名字和对应的年龄,可以像下面这样做: 这里的i是循环索引的标准变量名。 而内建的zi原创 2017-09-16 13:23:26 · 403 阅读 · 0 评论 -
python 元组拆包
元组拆包可以应用到任何迭代对象上, 唯一的要求是, 被可迭代对象中的元素数量必须要和这些元素的元组的空档数一致, 除非我们用* 来表示忽略多余的元素。1. 最好辨认的元组拆包形式就是平行赋值, 也就是把一个可迭代对象里的元素, 一起赋值到由对应的变量组成的元组中。平行赋值就像是这样:lax_coordinates = (33.9425, -118.408056)l原创 2017-10-27 18:07:03 · 890 阅读 · 0 评论 -
python 浅复制
复制列表最简单的方式就是使用内置构造类型构造方法。>>> l1 = [3, [55, 44], (7, 8, 9)]>>> l2 = list(l1) #list(l1)创键与源列表相等>>> l2[3, [55, 44], (7, 8, 9)]>>> l2 == l1原创 2017-10-31 21:05:08 · 388 阅读 · 0 评论 -
*args 和 **kwargs的用法
大部分新的Python程序员都需要花上大量时间理解清楚 *args 和**kwargs这两个魔法变量。那么它们到底是什么?首先让我告诉你, 其实并不是必须写成*args 和**kwargs。 只有变量前面的 *(星号)才是必须的. 你也可以写成*var 和**vars. 而写成*args 和**kwargs只是一个通俗的命名约定。 那就让我们先看一下*args吧。原创 2017-10-15 21:42:15 · 506 阅读 · 0 评论 -
如何调试python(Debugging)
利用好调试,能大大提高你捕捉代码Bug的。大部分新人忽略了Python debugger(pdb)的重要性。 在这个章节我只会告诉你一些重要的命令,你可以从官方文档中学习到更多。译者注,参考:https://docs.python.org/2/library/pdb.html Or https://docs.python.org/3/library/pdb.html从命令行原创 2017-10-15 21:56:16 · 3194 阅读 · 0 评论 -
python迭代器和生成器
1.生成器(Generators)首先我们要理解迭代器(iterators)。根据维基百科,迭代器是一个让程序员可以遍历一个容器(特别是列表)的对象。然而,一个迭代器在遍历并读取一个容器的数据元素时,并不会执行一个迭代。你可能有点晕了,那我们来个慢动作。换句话说这里有三个部分:可迭代对象(Iterable)迭代器(Iterator)迭代(Iteration)上面这些部分互相原创 2017-10-15 22:00:54 · 179 阅读 · 1 评论 -
python map函数,Filter函数,Reduce函数
MapMap会将一个函数映射到一个输入列表的所有元素上。这是它的规范:规范map(function_to_apply, list_of_inputs)大多数时候,我们要把列表中所有元素一个个地传递给一个函数,并收集输出。比方说:items = [1, 2, 3, 4, 5]squared = []for i in items: squared.appe原创 2017-10-15 22:11:59 · 225 阅读 · 0 评论 -
python set集合(数据结构)
set(集合)是一个非常有用的数据结构。它与列表(list)的行为类似,区别在于set不能包含重复的值。这在很多情况下非常有用。例如你可能想检查列表中是否包含重复的元素,你有两个选择,第一个需要使用for循环,就像这样:some_list = ['a', 'b', 'c', 'b', 'd', 'm', 'n', 'n']duplicates = []for value in som原创 2017-10-15 22:34:31 · 469 阅读 · 0 评论 -
python 三元运算符
三元运算符三元运算符通常在Python里被称为条件表达式,这些表达式基于真(true)/假(not)的条件判断,在Python 2.4以上才有了三元操作。下面是一个伪代码和例子:伪代码:#如果条件为真,返回真 否则返回假condition_is_true if condition else condition_is_false例子:is_fat = Truestate原创 2017-10-15 22:38:20 · 575 阅读 · 0 评论 -
python 装饰器
1.装饰器装饰器(Decorators)是Python的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短,也更Pythonic(Python范儿)。大多数初学者不知道在哪儿使用它们,所以我将要分享下,哪些区域里装饰器可以让你的代码更简洁。2.一切皆对象首先我们来理解下Python中的函数def hi(name="yasoo原创 2017-10-15 22:44:36 · 420 阅读 · 0 评论 -
python Global和Return用法
1.Global和Return你也许遇到过, python中一些函数在最尾部有一个return关键字。你知道它是干嘛吗?它和其他语言的return类似。我们来检查下这个小函数:def add(value1, value2): return value1 + value2result = add(3, 5)print(result)# Output: 8上面这个原创 2017-10-16 12:23:12 · 1367 阅读 · 0 评论 -
TypeError: 'bool' object is not callable
方法一:因为 is_authenticated是属性而不是方法将models中的三个 def is_authenticated(self): return True def is_active(self): return True def is_...原创 2018-03-21 21:27:55 · 13007 阅读 · 0 评论