美文网首页
Python函数式编程学习小结

Python函数式编程学习小结

作者: 小餐包 | 来源:发表于2017-03-11 06:54 被阅读13次

Python2版本和Python3中目前已知有三个变化,在Python3中:

1.reduce函数需要from functools import reduce后才能使用

2.filter和map函数的结果现在需要列表化以后才是list,例如:list[filter(f,range[10])]

注:感觉直接使用列表表达式更简单

下面的总结及用法针对Python2版本:

高阶函数:函数本身可以作为参数传入函数,比如reduce,filter和map函数

闭包:内层函数引用外层变量,然后返回内层函数的情况成为闭包(Closure)

匿名函数:map(lambda x:x*2 [1,2,2,4,5])

装饰器:运行时动态增加功能而不用修改原函数,本质是包装原函数成一个高阶函数,然后返回原函数。@语法极大的简化了代码,例如@log,@performance

打印调用时间的装饰器

偏函数:functools.partial可以把一个参数多的函数变成一个参数少的新函数,实质是通过固定某个参数的默认值形成一个新函数,例如下面的例子就是不区分大小写的sort方法:

使用偏函数完成的忽略大小写的sorted方法

包和模块:

解决命名空间冲突,包与目录的区别在于包的目录下必须有

__init__.py文件

面向对象编程:

类名一般以大写字母开头,例如Person(object): 括号里面是父类,多个父类用逗号分隔

__表示私有属性,不允许外部访问(JAVA用public private protect等关键字来标注)

_下划线实际允许外部调用,但是约定俗成,这个属性不应被外部访问

但是__xxx__表示的是特殊的属性,可以被外部调用,比如 print函数会调用__str__方法

__init__方法类似于JAVA的构造器,在对象实例化时调用

class中定义的全部是实例方法,实例方法第一个参数self是实例本身。

要在class中定义类方法,需要通过标记一个@classmethod,该方法将绑定到类上,比如:

类和实例:

继承,多态,多重继承

定制类:

特殊方法:

__cmp__ cmp函数调用

__str__print函数

__ repr__repr函数

__call__

相关文章

  • Python函数式编程指南

    注:采转归档,自己学习查询使用 Python函数式编程指南(1):概述Python函数式编程指南(2):函数Pyt...

  • Python进阶语法——函数式编程、模块,面向对象

    一、 Python进阶学习 一、函数式编程 1.1函数式编程 1.2高阶函数 1.2.1 import mathd...

  • Python高阶函数

    本篇将介绍Python的函数式编程,介绍高阶函数的原理,更多内容请参考:Python学习指南 函数式编程 函数是P...

  • Python函数式编程学习小结

    Python2版本和Python3中目前已知有三个变化,在Python3中: 1.reduce函数需要from f...

  • 高阶python 函数式编程

    高阶python 函数式编程 - 函数式 函数式编程(FunctionalProgramming) - 基于lam...

  • Python函数式编程

    虽然 Python 不是函数式编程语言(是命令式编程语言),但是支持许多有价值的函数式编程工具。Python 提供...

  • Python进阶笔记

    文|Seraph 函数式编程 1 纯函数式编程:不需要变量、没有副作用、测试简单2 Python不是纯函数式编程(...

  • python函数式编程

    函数式编程指引 — Python 3.7.3 文档

  • Python 中的函数式编程 - PyTips 0x02

    项目地址:https://git.io/pytips Python 中的函数式编程 函数式编程(英语:functi...

  • python必知必会7

    Python 支持函数式编程吗? 近些年来,由于函数式编程易于调试和测试的优点,函数式编程越来越受到关注。虽然 P...

网友评论

      本文标题:Python函数式编程学习小结

      本文链接:https://www.haomeiwen.com/subject/ldhagttx.html