美文网首页
学习笔记系列——函数式编程

学习笔记系列——函数式编程

作者: 升华的信石 | 来源:发表于2017-09-20 12:18 被阅读5次

    人生苦短,我用python


    高阶函数:一个函数接收另一个函数作为参数,这种函数称为高阶函数

    map(函数,迭代对象)

    reduce()结果和下一个元素做累积计算

    fliter()过滤序列  ----通过判断返回值为True或False-----需使用list返回结果


    面向对象编程——object oriented programming

    类和实例:

    __init__(self,,)第一个参数必须为self,表示创建的实例本身

    访问限制:在变量名前加__ 变为私有变量 例如__x  __name

    通过 def set_name():

    self.__name = name 可以从外部改变参数

    增加条件避免传入的参数无效

    以双下划线开头结尾的为特殊变量可以访问

    继承、多态

    判断一个变量是否为某个类型:is instance(变量,类型)

    __slots__()限制class能添加的属性,只对当前实例起作用,对继承的子类无效


    @property将方法变为属性——实用

    @property本身又创建了另一个装饰器@score.setter,负责把一个setter方法变成属性赋值

    加.setter为可读写,不加则为只读

    无需调用函数而直接调用属性

    返回的值需设置为self._xx  同访问限制的__区别

    多重继承---可继承多个类    Mixin机制

    __str__()返回字符串

    __repr__()调试服务

    __repr__ = __str__

    __iter__()返回一个迭代对象

    __getitem__()获得任意对象  int or slice

    __setitem__()把对象作为list or dict

    __getattr__()动态返回一个属性  可以raise AttributeError判断不存在该属性

    __call__()直接在实实例本身上调用

    用callable()查看能否调用


    实现 :无论API怎么变,SDK都可以根据URL实现完全动态的调用,不随API的增加而改变

    @unique装饰器检查保证没有重复值

    相关文章

      网友评论

          本文标题:学习笔记系列——函数式编程

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