- 博客(113)
- 资源 (20)
- 问答 (4)
- 收藏
- 关注
原创 零基础学python-19.5 重访迭代器:生成器yield
这一章节我们来讨论一些生成器yield1.yield的特性:延迟结果创建* 生成器函数:也是使用def定义,但是使用yield返回,而且每次返回只是返回一个结果,在每次产生结果之间挂起和继续它们的状态(就是当返回有三个结果,第一个结果返回了,但是第二个结果没有返回,但是由于是yield,它记录下返回第一个结果时所有作用域以及变量的状态,因此,在当需要返回第二个结果的时候,它将会继续刚才的状
2015-09-25 15:03:11 2055 2
零基础学python-19.5 重访迭代器:生成器yield
这一章节我们来讨论一些生成器yield1.yield的特性:延迟结果创建* 生成器函数:也是使用def定义,但是使用yield返回,而且每次返回只是返回一个结果,在每次产生结果之间挂起和继续它们的状态(就是当返回有三个结果,第一个结果返回了,但是第二个结果没有返回,但是由于是yield,它记录下返回第一个结果时所有作用域以及变量的状态,因此,在当需要返回第二个结果的时候,它将会继续刚才的状...
2015-09-25 15:03:00 69
原创 零基础学python-19.4 为什么要在意列表解析与序列映射函数map
这一章节我们来讨论一下为什么要在意列表解析与序列映射函数map,也就是为什么要有前面的几个章节?答案:就是对于迭代序列,每一个序列的对象只进行一种操作,它能够提供精简的代码我们下面举两个例子:1.去掉每一行的换行符>>> [item for item in open('output_file.txt')]['aaaaa\n', 'bbbbb\n', 'accccc\n',
2015-09-24 15:49:36 1919 2
零基础学python-19.4 为什么要在意列表解析与序列映射函数map
这一章节我们来讨论一下为什么要在意列表解析与序列映射函数map,也就是为什么要有前面的几个章节?答案:就是对于迭代序列,每一个序列的对象只进行一种操作,它能够提供精简的代码我们下面举两个例子:1.去掉每一行的换行符>>> [item for item in open('output_file.txt')]['aaaaa\n', 'bbbbb\n', 'ac...
2015-09-24 15:49:00 86
原创 零基础学python-19.3 列表解析与矩阵
这一章节我们来讨论一下列表解析与矩阵1.矩阵矩阵(Matrix)是指纵横排列的二维数据表格我们先从idle里面顶一个两个矩阵>>> M=[ [1,2,3], [2,3,4], [3,4,5] ]>>> N=[ [5,6,7], [-2,-3,-4], [13,14,15] ]>>> 从上面来看,列表嵌套列表暂时成为一个矩阵,根据列表的特性,我们总是可
2015-09-23 23:04:50 2262
零基础学python-19.3 列表解析与矩阵
这一章节我们来讨论一下列表解析与矩阵1.矩阵矩阵(Matrix)是指纵横排列的二维数据表格我们先从idle里面顶一个两个矩阵>>> M=[ [1,2,3], [2,3,4], [3,4,5] ]>>> N=[ [5,6,7], [-2,-3,-4], [13,14,15] ]>>> 从上面来看,列...
2015-09-23 23:04:00 111
翻译 翻译-精通python设计模式-工厂模式
Creational design patterns deal with an object creation . The aim of a creational design pattern is to provide better alternatives for situations where a direct object creation (which in Python happen
2015-09-23 16:38:40 3200
翻译-精通python设计模式-工厂模式
Creationaldesignpatternsdealwithanobjectcreation.Theaimofacreationaldesignpatternistoprovidebetter alternativesforsituationswhereadirectobjectcreation(whichinPythonhappensbythe__init__()function) ...
2015-09-23 16:38:00 188
原创 零基础学python-19.2 列表解析与序列映射函数map(2)增加分支测试与嵌套循环
这一章节我们继续来深入讨论一下python的列表解析与map,这一次我们增加了分支测试与嵌套循环,下面让我们来看看一些例子:分支测试(if)场景1:选出列表里面的偶数第一种我们使用函数的形式来实现>>> aList=[1,2,3,4,5]>>> def test(aList): res=[] for x in range(len(aList)):
2015-09-23 14:17:53 1975
零基础学python-19.2 列表解析与序列映射函数map(2)增加分支测试与嵌套循环
这一章节我们继续来深入讨论一下python的列表解析与map,这一次我们增加了分支测试与嵌套循环,下面让我们来看看一些例子:分支测试(if)场景1:选出列表里面的偶数第一种我们使用函数的形式来实现>>> aList=[1,2,3,4,5]>>> def test(aList): res=[] for x in range(len...
2015-09-23 14:17:00 101
原创 零基础学python-19.1 列表解析与序列映射函数map
上一章节我们说了map的特性,这一章节我们结合列表解析与map,一起讨论一下它们的应用。 我们下面举一些例子来看一下。场景1:将字符串每个字符转换为ascii码 当我们看到上面的情景,一般首先会想到for,我们下面先用for来实现。 我们转换ascii码的函数是ord()>>> ord('a')9712我们下面来转换字符串“abcde”>>> string='a
2015-09-23 14:11:05 2334
零基础学python-19.1 列表解析与序列映射函数map
上一章节我们说了map的特性,这一章节我们结合列表解析与map,一起讨论一下它们的应用。我们下面举一些例子来看一下。场景1:将字符串每个字符转换为ascii码当我们看到上面的情景,一般首先会想到for,我们下面先用for来实现。我们转换ascii码的函数是ord()>>> ord('a')97我们下面来转换字符串“abcde”>>&...
2015-09-23 14:11:00 142
原创 零基础学python-18.10 函数式编程工具:filter和reduce
这一章节我们来讨论一下函数式编程工具:filter和reduce1.filterfilter主要用于过滤序列的某些对象>>> def test(x): if x>0: return x >>> list(filter(test,range(-5,5)))[1, 2, 3, 4]>>> 上面是filter联合def函数,过滤列表小于0的对象我们使用lambda表
2015-09-21 23:22:59 1813
零基础学python-18.10 函数式编程工具:filter和reduce
这一章节我们来讨论一下函数式编程工具:filter和reduce1.filterfilter主要用于过滤序列的某些对象>>> def test(x): if x>0: return x >>> list(filter(test,range(-5,5)))[1, 2, 3, 4]>>> 上面是filte...
2015-09-21 23:22:00 77
原创 零基础学python-18.9 序列映射函数:map
这一章节我们来讨论一些序列映射函数:mapmap函数,就是引入一个函数,然后对序列(字符串、列表、字典等)的每一个对象进行操作1.场景: 对序列的所有对象分别加1一般我们会先想到使用循环for:>>> aList=[1,2,3,4,5]>>> def add(aList): for x in range(len(aList)): aList[x]+=1
2015-09-21 17:16:20 3612
零基础学python-18.9 序列映射函数:map
这一章节我们来讨论一些序列映射函数:mapmap函数,就是引入一个函数,然后对序列(字符串、列表、字典等)的每一个对象进行操作1.场景: 对序列的所有对象分别加1一般我们会先想到使用循环for:>>> aList=[1,2,3,4,5]>>> def add(aList): for x in range(len(aList)):...
2015-09-21 17:16:00 153
原创 零基础学python-18.8 嵌套lambda与作用域
这一章节我们来讨论一下嵌套lambda与作用域我们在前面的章节已经涉及到一些作用域与lambda表达式,例如:>>> def test(N): return lambda x:x*N>>> func=test(2)>>> func(2)4>>> 上面的代码就是lambda表达获取test的参数N,即便test已经不是激活状态我们下面将使用纯lambda表
2015-09-20 23:26:33 4762
零基础学python-18.8 嵌套lambda与作用域
这一章节我们来讨论一下嵌套lambda与作用域我们在前面的章节已经涉及到一些作用域与lambda表达式,例如:>>> def test(N): return lambda x:x*N>>> func=test(2)>>> func(2)4>>> 上面的代码就是lambda表达获取test...
2015-09-20 23:26:00 209
原创 零基础学python-18.7 为什么要使用lambda表达式
这一章节我们来讨论一下为什么要使用lambda表达式主要的目的就是提供一个更加简洁的代码结构,但是对于初学者,它可能反而增加阅读的难度lambda通常应用在行为调整表,也就是行为的列表或者字典,能够按照需求执行不同的代码。>>> aList=[lambda x:x**2,lambda x:x**3,lambda x:x**4]#list里面是三种幂算法>>> for func in
2015-09-20 20:44:59 2037
零基础学python-18.7 为什么要使用lambda表达式
这一章节我们来讨论一下为什么要使用lambda表达式主要的目的就是提供一个更加简洁的代码结构,但是对于初学者,它可能反而增加阅读的难度lambda通常应用在行为调整表,也就是行为的列表或者字典,能够按照需求执行不同的代码。>>> aList=[lambda x:x**2,lambda x:x**3,lambda x:x**4]#list里面是三种幂算法>&g...
2015-09-20 20:44:00 99
原创 零基础学python-18.6 lambda表达式快速入门
这一章节我们来简单讨论lambda表达式作为入门在python里面,除了def定义函数外,它还提供另外一种形式来完成函数能够做的事情,就是lambda表达式。1.lambda表达式的表现形式:lambda arg1,arg2....argN:expression using args>>> func=lambda x,y,z :x+y+z>>> func(1,2,3)6
2015-09-20 20:07:47 1526
零基础学python-18.6 lambda表达式快速入门
这一章节我们来简单讨论lambda表达式作为入门在python里面,除了def定义函数外,它还提供另外一种形式来完成函数能够做的事情,就是lambda表达式。1.lambda表达式的表现形式:lambda arg1,arg2....argN:expression using args>>> func=lambda x,y,z :x+y+z>>>...
2015-09-20 20:07:00 97
原创 零基础学python-18.5 函数的内建工具与函数的属性
这一章节我们来讨论python函数的另外两个方面:函数的内建工具与函数的属性1.函数的内建工具函数作为是对象,他也可以使用内建函数来管理,例如:>>> def test(): pass>>> test.__name__'test'>>> dir(test)['__annotations__', '__call__', '__class__', '__closur
2015-09-19 22:20:54 1834
零基础学python-18.5 函数的内建工具与函数的属性
这一章节我们来讨论python函数的另外两个方面:函数的内建工具与函数的属性1.函数的内建工具函数作为是对象,他也可以使用内建函数来管理,例如:>>> def test(): pass>>> test.__name__'test'>>> dir(test)['__annotations__', '__call...
2015-09-19 22:20:00 80
原创 零基础学python-18.4 函数对象:间接调用函数
这一章节我们来讨论一下函数对象的其中一个方面:间接调用函数在讨论之前,我们先来说一下函数为什么是对象?因为在python的定义里面,他所有都是对象,所以函数也是对象,在执行的时候已经存在内存空间里面的>>> def test(a): print(a) >>> id(test)31897400>>> >>> def test(a): print(a)
2015-09-18 23:35:39 2842
零基础学python-18.4 函数对象:间接调用函数
这一章节我们来讨论一下函数对象的其中一个方面:间接调用函数在讨论之前,我们先来说一下函数为什么是对象?因为在python的定义里面,他所有都是对象,所以函数也是对象,在执行的时候已经存在内存空间里面的>>> def test(a): print(a) >>> id(test)31897400>>> >...
2015-09-18 23:35:00 141
原创 零基础学python-18.3 递归函数vs循环和递归处理任意结构
这一章节我们来讨论两个话题:递归函数vs循环和递归处理任意结构1.递归函数vs循环再次沿用上一章节的递归代码:>>> def test (aList): if not aList: return 0 else : return aList[0]+test(aList[1:]) >>> a=[1,2,3,4,5]>>> test(a)15同时,我们也用循环实现上
2015-09-18 17:06:57 2951
零基础学python-18.3 递归函数vs循环和递归处理任意结构
这一章节我们来讨论两个话题:递归函数vs循环和递归处理任意结构1.递归函数vs循环再次沿用上一章节的递归代码:>>> def test (aList): if not aList: return 0 else : return aList[0]+test(aList[1:]) >>> a=[1,2,3,4,5]>>&...
2015-09-18 17:06:00 91
原创 零基础学python-18.2 递归函数与分解递归函数的执行步骤
这一章节我们来讨论一下递归函数,一个经常避免使用的,但又不得不学会的函数递归函数:函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数我下面给出一个例子:>>> def test(x): print(x) if not x: return 0 else : return x[0]+test(x[1:]) >>> test([
2015-09-17 22:58:03 2379
零基础学python-18.2 递归函数与分解递归函数的执行步骤
这一章节我们来讨论一下递归函数,一个经常避免使用的,但又不得不学会的函数递归函数:函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数我下面以递归求和为例子:>>> def test(x): print(x) if not x: return 0 else : return x[0]+test(x[1:]) ...
2015-09-17 22:58:00 263
原创 零基础学python-18.1 函数的设计
这一章节我们来讨论一下函数的设计的一些习惯:1.耦合性:输入使用参数,输出使用return推荐方式:>>> def test(x): print(x) return x+1>>> a=1>>> test(a)12>>> 反面教程:>>> a=1>>> def test(): global a a=a+2 >>> test()>>> a3>>>
2015-09-17 10:54:49 1782
零基础学python-18.1 函数的设计
这一章节我们来讨论一下函数的设计的一些习惯:1.耦合性:输入使用参数,输出使用return推荐方式:>>> def test(x): print(x) return x+1>>> a=1>>> test(a)12>>> 反面教程:>>> a=1>
2015-09-17 10:54:00 62
原创 零基础学python-17.4 参数匹配应用实例
这一章节我们来说明一下参数匹配的应用实例我们下面以求对象最小值min函数为例子说明:>>> def minTest(*args): res=args[0] for item in args[1:]: if item < res: res=item return res>>> minTest(1,2,3,4)1>>> minTest(5,3,4.6,
2015-09-16 22:41:03 1915
零基础学python-17.4 参数匹配应用实例
这一章节我们来说明一下参数匹配的应用实例我们下面以求对象最小值min函数为例子说明:>>> def minTest(*args): res=args[0] for item in args[1:]: if item < res: res=item return res>>> minTest(1,2,3,4)1...
2015-09-16 22:41:00 55
原创 零基础学python-17.3 特定的参数匹配模型快速入门
这一章节我们来讨论一下特定的参数匹配模型快速入门的基础知识在讨论语法细节前我需强调一下,一般来说我们都不需要用到这种匹配模型,这里只是简单的介绍一下1.位置:从左到右进行匹配>>> def test(a,b,c): print(a,b,c) >>> a=1>>> b=2>>> c=3>>> test(a,b,c)1 2 3>>> 2.关
2015-09-16 22:15:09 1922
零基础学python-17.3 特定的参数匹配模型快速入门
这一章节我们来讨论一下特定的参数匹配模型快速入门的基础知识在讨论语法细节前我需强调一下,一般来说我们都不需要用到这种匹配模型,这里只是简单的介绍一下1.位置:从左到右进行匹配>>> def test(a,b,c): print(a,b,c) >>> a=1>>> b=2>>> c=3&g...
2015-09-16 22:15:00 109
原创 零基础学python-17.2 参数与共享引用
这一章节我们来讨论一下参数与共享引用承接上一章节所说的参数的传递是通过自动将对象赋值给本地变量名来实现的,其本质就是复制引用,传递对象1.我们下面以传递不可变对象为例子:>>> b=1>>> def test(x): print(x) print(id(x)) x=2 print(x) print(id(x)) >>> test(b)14977340962
2015-09-16 08:59:41 1812
零基础学python-17.2 参数与共享引用
这一章节我们来讨论一下参数与共享引用承接上一章节所说的参数的传递是通过自动将对象赋值给本地变量名来实现的,其本质就是复制引用,传递对象1.我们下面以传递不可变对象为例子:>>> b=1>>> def test(x): print(x) print(id(x)) x=2 print(x) print(id(x)) >>&...
2015-09-16 08:59:00 89
原创 零基础学python-17.1 参数的传递快速入门
这一章节我们来讨论一下参数的传递1.参数的传递是通过自动将对象赋值给本地变量名来实现的>>> x=1>>> def test(param): print(param) print(id(param)) >>> id(x)505991632>>> test(x)1505991632>>> y='abc d'>>> id(y)31887488
2015-09-15 23:21:18 1626
零基础学python-17.1 参数的传递快速入门
这一章节我们来讨论一下参数的传递1.参数的传递是通过自动将对象赋值给本地变量名来实现的>>> x=1>>> def test(param): print(param) print(id(param)) >>> id(x)505991632>>> test(x)1505991632...
2015-09-15 23:21:00 67
Mastering Python Design Patterns 精通python设计模式
2015-09-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人