2018年7月16日
摘要: 1、Python中的属性和方法的绑定 正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法。 (1)首先,定义一个class: class Student(object): pass (2)然后,给实例绑定属性: (3)或者,给实例绑定一个方法: 阅读全文
posted @ 2018-07-16 20:16 Cjv 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 汉诺塔问题 汉诺塔的移动可以用递归函数非常简单地实现。请编写move(n, a, b, c)函数,它接收参数n,表示3个柱子A、B、C中第1个柱子A的盘子数量,然后打印出把所有盘子从A借助B移动到C的方法。 汉诺塔问题的实现关键是理解递归的本质。递归问题的关键个人认为是,重目的而略过程。利用递归,我 阅读全文
posted @ 2018-07-16 19:56 Cjv 阅读(3647) 评论(1) 推荐(0) 编辑
摘要: 3、filter filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。相当于一个过滤器作用。例如,在一个list中,删掉偶数,只保留奇数,可以这么写: 这个filter的关键在于 阅读全文
posted @ 2018-07-16 17:19 Cjv 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1、map map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。示例: 2、reduce reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结 阅读全文
posted @ 2018-07-16 17:15 Cjv 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 5、迭代器 由之前的生成器可知,for循环用于可迭代对象:Iterable。包括集合数据类型: list、tuple、dict、set、str 等,以及两种生成器。判断迭代器,使用 isinstance(type, Iterable) 。还有的是,可以被next()函数调用并不断返回下一个值的对象称 阅读全文
posted @ 2018-07-16 17:02 Cjv 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 4、生成器(generator) 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。 创建一个generator,有很多种方法 阅读全文
posted @ 2018-07-16 16:54 Cjv 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 3、列表生成器(List Comprehensions) 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 1 阅读全文
posted @ 2018-07-16 16:34 Cjv 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 2、迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。在Python中,迭代是通过for ... in来完成的。 只要是可迭代对象,无论有无下标,都可以迭代,比如dict就可以迭代key: 还可以迭代value, 阅读全文
posted @ 2018-07-16 16:26 Cjv 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 1、切片 有一个list—>L = [1,2,3,4,5,6,7]或tuple—>T = (1,2,3,4,5,6,7),如果想取得前三个元素,怎么操作? 硬方法,也是低效的方法是:L= L[L[0], L[1], L[2]]。但是如果数量多,就算是用循环也很麻烦。但是Python提供了,Slice 阅读全文
posted @ 2018-07-16 16:00 Cjv 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 看完廖雪峰老师的教程,感觉尾递归函数是一个相对难点。于是复习一下,思考了一下,发表一些见解,记录一下。 1、递归函数 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 例如,阶乘的实现:f(n) = n! = 1x2x3x4......xn = f(n-1) x 阅读全文
posted @ 2018-07-16 14:57 Cjv 阅读(303) 评论(0) 推荐(0) 编辑