• python学习笔记——继承


    迭代

    如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历成为迭代。

    在python中,迭代是通过for...in来完成的。

    使用for循环时,只要作用于一个可迭代对象,for循环就可以正常运行。

    生成器

    在python中,一边循环一边计算的机制,称为生成器:generator

    如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator

    generator和函数的执行流程不一样,函数时顺序执行,遇到return语句或者最后一行函数语句就会返回。而变成generator的函数,在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。

    迭代器

    凡是可以作用于for循环的对象都是Iterable类型
    凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列
    集合数据类型时Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象

    reduce()

    函数会对参数序列中元素进行累积。

    函数将一个数据集合中的所有数据进行下列操作:用传给reduce()中的函数function(有两个参数),先对集合中的第1,2个元素进行操作,得到的结果再与第三个数据用function函数运算,最后得到一个结果。

    filter()

    和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素。

    装饰器

    在代码运行期间动态增加功能的方式

    本质上,装饰器是一个返回函数的高阶函数。

    当程序使用"@函数"装饰另一函数时,实际完成如下两步:

    1.将被装饰的函数作为参数传给@符号引用的函数

    2.将函数B替换成第一步的返回值

    偏函数

    需要import functools
    functools.partial的作用:把一个函数的某些参数给固定住,返回一个新的函数,调用这个新函数会更简单。

    模块

    自己创建的模块名不可以与python自带的模块名冲突,否则将无法导入系统模块

    模块的命名规则

    python以目录组织模块,,称为包(package),一个abc.py的文件就是一个叫abc的模块,如果这个名称与其他模块冲突,则可选择一个顶层包名,即创建上层目录。

    每个包目录下必须有一个__init.py__文件,没有这个文件python会把它当成空目录

    作用域

    正常命名的函数和变量名是public类,_ 开头的是私有类(private)

    init 方法的第一个参数只能是self,表示创建的实例本身

    继承

    继承可以把父类的所有功能都直接拿过来,再累只需要新增自己特有的方法,也可以把父类不适合的方法覆盖重写

    动态语言的类型特点决定了继承不像静态语言那样是必须的。

    types

    判断一个对象是否是函数:
    import types
    type(fn) == types.FunctionType

    isinstance

    isinstance([变量],[对象])

    __slots__变量

    限制实例的属性

    class Student(object):
    	__slots"__ = ("name","age")
    
    s = Student()
    s.name = 'PRI1S0N'
    s.age = 20
    

    使用__slots__定义的属性仅对当前类实例起作用,对继承的子类是不起作用的

  • 相关阅读:
    Magento安装教程
    让老婆爱你的十大方法。
    easy ui layout设计
    下交叉综合症
    fileloder.js+struts2实现文件异步上传,无页面刷新效果。
    将mysql中的Blob的图片在jsp中显示
    详解CSS样式的position属性
    Struts2与Spring的整合
    Play Framework常用标签list,set,如何遍历list、map类型数据
    我所理解的团队
  • 原文地址:https://www.cnblogs.com/pr1s0n/p/12246001.html
Copyright © 2020-2023  润新知