廖雪峰python教
易悠
事在人为
展开
-
Python教程学习简记2--Python 函数调用 定义函数 函数的参数 递归函数
本文学习Python函数,包括:函数调用 定义函数 函数的参数 递归函数我们知道圆的面积计算公式为:S = π r*r当我们知道半径r的值时,就可以根据公式计算出面积。假设我们需要计算3个不同大小的圆的面积:r1 = 12.34r2 = 9.08r3 = 73.1s1 = 3.14 * r1 *r1s2 = 3.14 * r2 *r2s3 = 3.14 * r3 *r3当代码出现有规律的原创 2016-02-01 15:28:50 · 5102 阅读 · 0 评论 -
Python教程学习简记12--Python Partial function 偏函数
Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。 注意:这里的偏函数和数学上的偏函数不一样奥。我们在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。例如:int()函数可以把字符串转化为整数,当仅仅传入字符串时,int()函数默认按十进制转换: 但是int()函数还提供额外的b原创 2016-02-17 14:19:38 · 724 阅读 · 0 评论 -
Python教程学习简记1--Python数据类型和变量 字符串和编码 list和tuple 条件判断 循环 dict和set
本文主要是学习Python基础:Python数据类型和变量 字符串和编码 list和tuple 条件判断 循环 dict和set本文根据廖雪峰的官方网站-Python教程,认真学习,一步一步实操并且详细记录。在此,特别感谢廖雪峰老师。Python2.x与Python3.x之后补上。。。。。。升级Ubuntu15.10系统的PythonUbuntu15.10系统默认安装的Python为2.7.10原创 2016-01-30 16:13:29 · 1842 阅读 · 1 评论 -
Python教程学习简记1--Python数据类型和变量 字符串和编码 list和tuple 条件判断 循环 dict和set
本文主要是学习Python基础: Python数据类型和变量 字符串和编码 list和tuple 条件判断 循环 dict和set本文根据廖雪峰的官方网站-Python教程,认真学习,一步一步实操并且详细记录。在此,特别感谢廖雪峰老师。Python2.x与Python3.x之后补上。。。。。。升级Ubuntu15.10系统的PythonUbuntu15.10系统默认安装的Python为2.7.1原创 2016-02-03 15:39:33 · 1854 阅读 · 0 评论 -
Python教程学习简记11--Python decorator 装饰器
由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。函数对象有一个(双下划线+name+双下划线)属性,可以拿到函数的名字: 现在,假设我们要增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)。本质上,decorator就是一个返回函数的高阶函数。原创 2016-02-14 17:18:30 · 2168 阅读 · 0 评论 -
Python教程学习简记10--Python 匿名函数
当我们在传入函数时,有些时候,不需要显式的定义函数,直接传入匿名函数更方便。在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x*x时,除了定义一个f(x)的函数外,还可以直接传入匿名函数: 通过对比可以看出,匿名函数lambda x: x*x 实际上就是:def f(x): return x*x关键字lambda表示匿名函数,冒号前面的x表示函数参数原创 2016-02-13 17:22:07 · 745 阅读 · 0 评论 -
Python教程学习简记9--Python 返回函数 闭包
函数作为返回值高阶函数除了可以接收函数作为参数外,还可以把函数作为结果值返回。我们来实现一个可变参数的求和。通常情况下,求和的函数是这样定义的:def calc_sum(*args): ax = 0 for n in args: ax = ax + n return ax但是,如果不需要立即求和,而是在后面的代码中,根据需要在计算怎么办?可以不返回求和的结果,原创 2016-02-12 22:31:30 · 672 阅读 · 0 评论 -
Python教程学习简记8--Python 高阶函数 map/reduce filter sorted
函数式编程函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。而函数式编程–Functional Programming,虽然也可以归结到面向过程的程序设计,但是其思想更接近数学计算。我们首先要搞明白计算机(Computer)和计算(Compute)的概原创 2016-02-12 17:07:53 · 1525 阅读 · 0 评论 -
Python教程学习简记7--Python 可迭代对象:Iterable ,迭代器:Iterator
我们已经知道,可以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list / tuple / dict / set / str /等; 一类是generator,包括生成器和带yield的generator function。这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。可以使用isinstance()判断一个对象是否是Iterable对象:>>> fro原创 2016-02-10 16:53:20 · 4478 阅读 · 0 评论 -
Python教程学习简记6--Python 生成器 generator
通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间就白白浪费了!所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这样一边循环一边原创 2016-02-10 15:48:23 · 1038 阅读 · 0 评论 -
Python教程学习简记5--Python 列表生成式(List Comprehensions)
列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。举个例子,要生成list [1,2,3,4,5,6,7,8,9,10]可以用list(range(1, 11)):>>> list(range(1, 11))[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]但是如果要生成[1*1, 2*2 ,3*3, …, 10*10原创 2016-02-09 11:48:01 · 7685 阅读 · 1 评论 -
Python教程学习简记4--Python 迭代(iteration)
如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称之为迭代(Iteration).在Python中,迭代是通过for… in来完成的,而很多语言比如C或者Java,迭代list是通过下表完成的,比如Java代码:for (i = 0; i < list.length; i++){ n = list[i];}可以看出,Python的for循原创 2016-02-05 18:35:49 · 1053 阅读 · 0 评论 -
Python教程学习简记3--Python 切片
取一个list或者tuple的部分元素是非常常见的操作。 例如,一个list如下:>>> L = ['hjr', 'lr', 'hjj', 'lqq']我们取前3个元素,笨办法如下:>>> [L[0], L[1], L[2]]['hjr', 'lr', 'hjj']之所以称之为笨办法是因为扩展以下,取前N个元素就没辙了。取前N个元素,也就是索引为0-(N-1)的元素,可以用循环:>>> r =原创 2016-02-05 18:01:24 · 810 阅读 · 0 评论 -
Python教程学习简记13--Python Module 模块
Module 模块计算机程序开发中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里面,这样,这个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。使用模块有什么好处呢?最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当原创 2016-02-21 01:18:03 · 2180 阅读 · 0 评论