收藏 十月 24, 2019

Python学习过程中的一些好文章

文章字数 2.5k 阅读约需 2 mins. 阅读次数 1000000

语法相关

  • 详解python函数定义 def()与参数args、可变参数args、关键字参数*args使用实例
    • 不同类型的函数可以组合使用,参数定义的顺序必须为:必选(位置)参数,默认参数,可变参数,命名关键字参数和关键字参数

  • Python 中 with用法及原理
    • with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,还可以很好的处理上下文环境产生的异常

  • Python 之 new() 方法与实例化
    • 通常来说,新式类开始实例化时,__new__()方法会返回 cls(cls指代当前类)的实例,然后该类的 __init__()方法作为构造方法会接收这个实例(即 self )作为自己的第一个参数,然后依次传入 __new__() 方法中接收的位置参数和命名参数。如果__new__()没有返回 cls(即当前类)的实例,那么当前类的 __init__() 方法是不会被调用的。如果 __new__()返回其他类(新式类或经典类均可)的实例,那么只会调用被返回的那个类的构造方法。

  • Python迭代器和生成器【不算写的好,但因为看过,还是放在这里】
    • 迭代器协议就是实现对象的__iter__()next()方法。其中__iter__()方法返回迭代器对象本身;next()方法返回容器的下一个元素,在结尾时引发StopIteration异常。

    • 生成器可以很方便的支持迭代器协议,生成器函数返回生成器的迭代器。 “生成器的迭代器”这个术语通常被称作”生成器”。yield 是一个语法糖,内部实现支持了迭代器协议,同时 yield 内部是一个状态机,维护着挂起和继续的状态。

    • 生成器表达式使用了”惰性计算”(lazy evaluation),只有在检索时才被赋值(evaluated),它产生的生成器自身是一个可迭代对象,同时也是迭代器本身。

  • Python之列表生成式、生成器、可迭代对象与迭代器
    • “语法糖”使我们可以更加简洁、快速的实现这些功能,if…else 三元表达式、with语句、装饰器、列表生成式、生成器。

    • 可直接用于for循环的对象统称为可迭代对象(Iterable)

    • 生成器对象既是可迭代对象,也是迭代器;迭代器对象一定是可迭代对象,反之则不一定。迭代器、生成器和可迭代对象都可以用for循环去迭代,生成器和迭代器还可以被next()方函数调用并返回下一个值。

  • Python之函数进阶
0%