自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

汪星人来地球的博客

数学才是人工智能的正确打开方式

  • 博客(12)
  • 资源 (2)
  • 收藏
  • 关注

原创 python特性(八):生成器对象的send方法

生成器对象是一个迭代器。但是它比迭代器对象多了一些方法,它们包括send方法,throw方法和close方法。这些方法,主要是用于外部与生成器对象的交互。本文先介绍send方法。send方法有一个参数,该参数指定的是当前被挂起的yield语句的返回值。这样说起来比较抽象,看下面的例子。def MyGenerator(): value = (yield 1) va

2017-02-21 19:57:17 22086 8

原创 python特性(七):通过生成器函数构造序列对象的迭代器

在前面的博文中介绍过如何构造序列对象的迭代器。本文将通过生成器函数来重写这篇博文的代码。事实上,一个序列对象的迭代器,依赖于一个整数序列的迭代器。看下面的代码。def MyGenerator(len): start = 0 while start < len: yield start start = start + 1

2017-02-20 21:46:16 533

原创 python特性(六):yield与迭代器生成器

迭代器是非常高效的类型,无论是从时间复杂度,还是从空间复杂度。而实现迭代器的代码虽然简单,却也繁琐。为此,python定义了一个yield关键字,专门用来构造迭代器。yield有生成,产生的意思。yield的功能和return非常类似,它们都只能在方法中使用。不同的是,包含yield语句的方法被称为生成器方法。当调用生成器方法时,会返回一个生成器对象。例如,看下面的例子。

2017-02-20 19:35:12 614

原创 python特性(五):序列诱导的迭代器

如果我们自己要实现iter方法,通过一个序列对象构造出一个迭代器,会怎么做呢?首先需要定义一个迭代器类。class MyIteratorFromSequence: def __init__(self, sequence): self.start = 0 self.sequence = sequence def next(self):

2017-02-17 18:50:32 458

原创 python特性(四):for语句的工作原理

对于如下的for语句for obj in iterable_obj: do something with obj首先会调用iter方法获取关于iterable_obj对象的迭代器,然后不断调用迭代器对象的next方法,直至抛出异常位置。为了说明这一点,看下面的例子。myiter = MyIterator(1, 4)for i in myiter:

2017-02-17 18:23:02 1067

原创 python特性(三):iter方法

iter方法是python的一个内建方法,它会返回一个迭代器对象。它定义如下iter(o[, sentinel])第一个参数o可以是一个可迭代对象,也可以是一个可调用对象。当参数o是可迭代对象时,第二个参数可省。这里又分为两种情况。如果参数o实现了__iter__方法,则直接调用该方法,创建迭代器。如果参数o没有实现__iter__方法,那么它比是一个序列对象。iter方法

2017-02-12 17:37:06 10801

原创 python特性(二):迭代器与for语句

网上许多文章说Python的for语句中,in关键字后面的对象是一个集合。例如for i in [1,2,3] print i上面代码中in关键字后面的对象[1,2,3]是一个list,也是一个集合。但in关键字后面的对象其实不必是一个集合。一个序列对象也是合法的。 例如myrange = MyRange(0, 10)for i in myrange: p

2017-02-12 16:50:12 838

原创 python特性(一):序列与xrange对象

说到序列,我们第一想到的是一组有序元素组成的集合。同时,每个元素都有唯一的下标作为索引。在python中,有许多内界的序列。包括元组tuple,列表list,字符串str等。上面提到的序列类型(list,tuple,str)有一个共同的特点,就是当序列对象创建时,需要开辟专门的内存空间,保存序列中的所有元素。换句话说,这些序列对象本质上,是一个集合。例如,下面代码创建了一个

2017-02-12 12:19:07 1762

原创 sqlalchemy学习(四)ORM model及数据库表的增删改查

目前,许多主流的语言,都实现了对象关系映射(ORM Object Relational Mapper)的库包。ORM的主要功能是将数据库表中的每条记录映射成一个对象。所有的数据库操作,都转化为Sqlalchemy

2017-02-08 17:18:35 13970 1

原创 sqlalchemy学习(三):创建数据库表格

在创建数据库表格之前,首先请保证数据库已经通过mysql命令创建完毕。数据库创建好以后,我们需要定义数据库类型。

2017-02-08 11:58:08 4326

翻译 sqlalchemy 学习(二)scoped session

数据库设计的难点之一,是session生命周期的管理问题。sqlalchemy提供了一个简单的session管理机制,即scoped session。它采用的注册模式。所谓的注册模式,简单来说,是指在整个程序运行的过程当中,只存在唯一的一个session对象。创建scoped session的方法如下from sqlalchemy.orm import scoped_session

2017-02-04 19:16:45 8997

翻译 sqlalchemy 学习(一)创建Session和Engine

基本概念说到数据库,就离不开Session。Session的主要目的是建立与数据库的会话,它维护你加载和关联的所有数据库对象。它是数据库查询(Query)的一个入口。在Sqlalchemy中,数据库的查询操作是通过Query对象来实现的。而Session提供了创建Query对象的接口。Query对象返回的结果是一组同一映射(Identity Map)对象组成的集合。事实上,集合

2017-02-04 18:04:23 13464

material design lite(MDL)web 开发 js 和css酷

Material design lite开发需要用到的基本css和js库

2016-10-19

material design lite (mdl) 库文件

material design lite (mdl) 库文件

2016-10-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除