摘要: 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即 阅读全文
posted @ 2018-02-07 18:05 醉江山 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 关键字lambda表示匿名函数,冒号前面的x表示函数参数。 匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。 用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数: 阅读全文
posted @ 2018-02-07 17:38 醉江山 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 排序算法:对列表中的元素进行按照指定规则排序。 sorted()函数也是一个高阶函数,它还可以接收一个比较函数来实现自定义的排序。比如,如果要倒序排序,我们就可以自定义一个reversed_cmp函数: 传入自定义的比较函数reversed_cmp,就可以实现倒序排序: 对字符串进行排序,是按照AS 阅读全文
posted @ 2018-02-07 17:00 醉江山 阅读(195) 评论(0) 推荐(0) 编辑
摘要: Python内建的filter()函数用于过滤序列。 和map()类似,filter()也接收一个函数和一个序列。 和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。 阅读全文
posted @ 2018-02-07 16:57 醉江山 阅读(90) 评论(0) 推荐(0) 编辑
摘要: reduce把一个函数作用在一个序列[x1, x2, x3...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是: reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4) 可以将其看成是将一个列表中所有 阅读全文
posted @ 2018-02-07 16:54 醉江山 阅读(104) 评论(0) 推荐(0) 编辑
摘要: Python内建了map()和reduce()函数。 map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。 list [1, 2, 3, 4, 5, 6, 7, 8, 9] 将列表中每一个数值加2 可以用map()函数来实现: 阅读全文
posted @ 2018-02-07 16:45 醉江山 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码: 结论:函数本身也可以赋值给变量,即:变量可以指向函数。 如果一个变量指向了一个函数,那么,可否通过该变量来调用这个函数?用代码验证一下: 成功!说明变量f现在已经指向了abs函数本身。 函数名也是变量 那么函 阅读全文
posted @ 2018-02-07 16:39 醉江山 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的, 这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此,这种函数是有副作用的。 函数式编 阅读全文
posted @ 2018-02-07 16:29 醉江山 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。 举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出: fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! 阅读全文
posted @ 2018-02-07 16:27 醉江山 阅读(92) 评论(0) 推荐(0) 编辑
摘要: Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。 默认参数一定要用不可变对象,如果是可变对象,运行会有逻辑错误! 要注意定义可变参数和关键字参数的语法: *args是可变参数,args接收的是一个tuple; **kw是关键字参数,kw接收的是一个dict。 阅读全文
posted @ 2018-02-07 16:24 醉江山 阅读(199) 评论(0) 推荐(0) 编辑