
Python
krzover
这个作者很懒,什么都没留下…
展开
-
[转] Python 代码性能优化技巧
选择了脚本语言就要忍受其速度,这句话在某种程度上说明了 python 作为脚本的一个不足之处,那就是执行效率和性能不够理想,特别是在 performance 较差的机器上,因此有必要进行一定的代码优化来提高程序的执行效率。如何进行 Python 性能优化,是本文探讨的主要问题。本文会涉及常见的代码优化方法,性能优化工具的使用以及如何诊断代码的性能瓶颈等内容,希望可以给 Python 开发人员一定的转载 2017-03-02 19:53:19 · 356 阅读 · 0 评论 -
python对json的相关操作以及json模块的简要分析
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON有两种结构:第一种就是“名称/值”对的集合。在python中相当于字典类型,在其他语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(转载 2017-03-18 11:33:33 · 823 阅读 · 0 评论 -
Python3使用requests模块显示下载进度
出处:http://blog.youkuaiyun.com/supercooly/article/details/51046561一、配置request1. 相关资料请求关键参数:stream=True。默认情况下,当你进行网络请求后,响应体会立即被下载。你可以通过 stream 参数覆盖这个行为,推迟下载响应体直到访问 Response.content 属性。tarbal转载 2017-03-18 11:35:46 · 818 阅读 · 0 评论 -
Python学习笔记之函数作为返回值、闭包的解释
高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。我们来实现一个可变参数的求和。通常情况下,求和的函数是这样定义的:def calc_sum(*args): ax = 0 for n in args: ax = ax + n return ax1234512345但是,如果不需要立刻求和,而是在后面的代码中,根据需要再计算怎转载 2017-03-21 18:10:18 · 408 阅读 · 0 评论 -
SQLAlchemy ORM教程之二:Query
在上一篇中我们主要是解决了如何配置ORM系统,建立从类到表的映射的过程,以及如何插入和修改记录。在这个教程中我们主要解决使用的问题。QuerySession的query函数会返回一个Query对象。query函数可以接受多种参数类型。可以是类,或者是类的instrumented descriptor。下面的这个例子取出了所有的User记录。>>> for instance in转载 2017-04-15 14:45:31 · 5433 阅读 · 0 评论 -
SQLAlchemy ORM教程之三:Relationship
『关系』是关系型数据库的一大特色,也是我们在建模过程中的一个重要的抽象过程。在前面的两个教程中,我们分别回顾了使用SQLAlchemy在数据库中进行创建和简单查询的方法,今天我们来深入到更为复杂和抽象部分。建立关系之前我们已经建立了一个用户(User)表,现在我们来考虑增加一个与用户关联的新的表。在我们的系统里面,用户可以存储多个与之相关的email地址。这是一种基本的一对多的关系转载 2017-04-15 14:46:57 · 5001 阅读 · 0 评论 -
Django 分页功能
Django 分页功能比较强大,这边是结合官网的内容写的可以参考https://docs.djangoproject.com/en/1.9/topics/pagination/>>> from django.core.paginator import Paginator>>> objects = ['john', 'p转载 2017-05-24 11:11:01 · 898 阅读 · 0 评论 -
Django+ajax实现页面底部加载
需求:展示图片,当滚动条拖到页面底部时加载一部分图画。问题:photo的展示使用的是django的QuerySet,对于ajax如何加载非常头痛,还专门补了一下js。解决思路:用的取巧的办法,把photo先分页,然后ajax的load方法加载下一个页面的photo部分到当前页面来。分页第一步是把photo的QuerySet分页展示,我这里直接用127.0.0.1:8000/x/转载 2017-05-24 11:23:48 · 969 阅读 · 0 评论 -
django中 auto_now和auto_now_add的关系
DateTimeField和DateField和TimeField存储的内容分别对应着datetime(),date(),time()三个对象。对于auto_now=False和auto_now_add=False 两者默认值都为False。auto_now=Ture,字段保存时会自动保存当前时间,但要注意每次对其实例执行save()的时候都会将当前时间保存,也就是不能再手动给它存非当原创 2017-05-13 11:07:33 · 1099 阅读 · 0 评论 -
基础的ajax请求
/** * 此事例代码演示做基础的方式书写的ajax请求,也是实际开发中最常见的写法 *///页面初始化之后的执行函数,在页面中的html和js代码加载完成之后触发$(function(){ $('#btnGet').click(function(){ //get请求按钮点击之后触发 $.ajax({ type: "get", /原创 2017-05-24 16:02:59 · 486 阅读 · 0 评论 -
Python 正则表达式 RE模块的使用方法
1.1. 开始使用rePython通过re模块提供对正则表达式的支持。使用re的一般步骤是先将正则表达式的字符串形式编译为Pattern实例,然后使用Pattern实例处理文本并获得匹配结果(一个Match实例),最后使用Match实例获得信息,进行其他的操作。12345678910转载 2017-03-18 11:32:39 · 825 阅读 · 0 评论 -
Python代码模块热更新机制实现(reload)
对一个游戏来说,无论是client或server都非常需要一套代码热更新的机制。它能大大提高开发效率,又能超乎玩家期望地在运营期在线修正bug和增添功能。可谓必备机制。热更新机制的目标是: (1)更新代码定义 (2)不更新数据对象 (3)不要依赖热更新机制解决所有问题。过于复杂的改动,重启进程 具体到Python这个语言而言,目标便是: (1)更新类/转载 2017-03-18 11:31:22 · 6249 阅读 · 0 评论 -
正则表达式30分钟入门教程
本文目标30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。如何使用本教程最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :)别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并没有想像中的那么困难。当然,如果你看完了这篇教程之后,发现自己明白转载 2017-03-18 10:39:41 · 264 阅读 · 0 评论 -
Python基本语法_变量作用域
目录目录软件系统变量的作用域高级语言对数据类型的使用过程作用域的产生作用域的类型Llocal局部作用域Eenclosing嵌套作用域Gglobal全局作用域Bbuilt-in内置作用域变量名解析LEGB法则实例说明对变量的引用对变量的修改global关键字nonlocal关键字命名空间和作用域的区别软件转载 2017-03-18 11:18:15 · 420 阅读 · 0 评论 -
Python 魔术方法指南
入门构造和初始化构造定制类用于比较的魔术方法用于数值处理的魔术方法表现你的类控制属性访问创建定制序列反射可以调用的对象会话管理器创建描述器对象持久化对象总结附录介绍此教程为我的数篇文章中的一个重点。主题是魔术方法。 什么转载 2017-03-18 11:19:44 · 520 阅读 · 0 评论 -
Python函数式编程学习:lambda, map, reduce, filter
以前也学过函数式编程,基本也就是函数嵌套,没有深入学习。最近重写代码,重新学习了函数式编程,所以写了这篇blog。首先介绍下函数式编程的定义:来自维基百科点击打开链接函数式编程(Functional programming)或者函数程序设计,又称泛函编程,是一种编程范型,它将计算机运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数编程语言最重要的基础是λ演算(la转载 2017-03-18 11:22:51 · 493 阅读 · 0 评论 -
Python函数式编程指南(三):迭代器详解
3. 迭代器3.1. 迭代器(Iterator)概述迭代器是访问集合内元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束。迭代器不能回退,只能往前进行迭代。这并不是什么很大的缺点,因为人们几乎不需要在迭代途中进行回退操作。迭代器也不是线程安全的,在多线程环境中对可变集合使用迭代器是一个危险的操作。但如果小心谨慎,或者干脆贯彻函数式思想坚持使用不可转载 2017-03-18 11:25:27 · 368 阅读 · 0 评论 -
[Python标准库]random——伪随机数生成器
Python 版本:1.4 及以后版本 random 模块基于 Mersenne Twister 算法提供了一个快速伪随机数生成器。原先开发这个生成器是为了向蒙特卡洛模拟生成输入,Mersenne Twister算法会生成有一个大周期的近均匀分布的数,以适用于各种类型的应用。生成随机数 random() 函数从所生成的序列返回下一个随机的浮点数值。返回的所有转载 2017-03-18 11:26:54 · 978 阅读 · 0 评论 -
飘逸的python - yield简明教程
只要函数含有yield语句,它就返回一个生成器.所以我们与其把其看成函数定义,不如看作是生成器定义.函数用return返回,而生成器用yield返回.接下来是yield的行为.比如def html(): yield 'header' for i in range(5): yield i yield 'footer'h = html转载 2017-03-18 11:27:43 · 234 阅读 · 0 评论 -
关于python中,map,reduce,filter,sorted函数的用法
map:map函数:map函数接受两个参数,一个是函数名,一个是可迭代对象。通过迭代,将可迭代对象里面的对象依次传入函数,完成后返回新的可迭代对象。 用法举例:#依次求[2,4,6,7,8]的平方值def f(x): return x*xprint(list(map(f,[2,4,6,7,8]))) #[4, 16, 36, 49, 64]#将 adam, LIS转载 2017-03-18 11:28:34 · 473 阅读 · 0 评论 -
python 迭代器与生成器 详解
在python中,我们经常使用for循环来遍历各种集合,例如最常用的有list,dict等等,这些集合都是可迭代对象。我们先来了解一下python中的迭代器(Iterator)。一、迭代器顾名思义,迭代器,自然就是用来做迭代用的(好像是废话)。以list为例,我们用list,最多的情况就是用来做循环了(循环就是迭代嘛)>>> list = [1,2,3]>>> dir(lis转载 2017-03-18 11:29:28 · 383 阅读 · 0 评论 -
Django基础学习之Cookie 和 Sessions 应用
在Django里面,使用Cookie和Session看起来好像是一样的,使用的方式都是request.COOKIES[XXX]和request.session[XXX],其中XXX是您想要取得的东西的key,但是这两者的原理和实现方式确是非常的不同。 首先介绍Cookie,只要是HTTP协议,就会有COOKIE这个东西; 只要您的浏览器没有禁用Cookie,就 可是使用它。而且是不转载 2017-05-09 09:14:29 · 311 阅读 · 0 评论