• 函数总结


        函数: 对功能或者动作的封装 类中的函数一般是方法
    语法:
    def 函数名(参数):
    函数体(return)

    ret = 函数名(实参)

    函数名: 函数名就是一个变量名. 可以进行赋值. 可以作为参数, 可以作为返回值. 还可以作为集合类的元素
    参数:
    给函数传递的信息
    1. 形参:
    在函数声明的位置定义的变量.
    分类:
    1. 位置参数
    2. 默认值参数, 共享
    3. 动态传参
    1. *args 动态接收位置参数
    2. **kwargs 动态接收关键字参数
    *,** 在形参位置表示聚合
    *,** 在实参位置表示打散
    顺序:
    位置, *args, 默认值, **kwargs

    def func(*args, **kwargs): 无敌传参
    pass

    2. 实参:
    在函数调用的时候给函数传递的具体的值.
    分类:
    1. 位置参数
    2. 关键字参数
    3. 混合参数. 位置在前, 关键字在后
    3. 传参:
    把实参传递给形参的过程叫传参

    名称空间:
    1. 内置名称
    2. 全局名称
    3. 局部名称
    作用域:
    1. 全局作用域
    2. 局部作用域
    globals() 查看全局作用域中的内容
    locals() 查看当前作用域中的内容

    global 在局部引入全局变量, 创建全局变量
    nonlocal 在局部, 引入离他最近的上一个变量

    函数的嵌套:
    def func():
    def inner():
    pass
    return inner

    闭包: 在内层函数访问外层函数中的变量. 最好是返回内层函数
    作用:
    1. 保护变量不被更改
    2. 可以让一个变量常驻内存

    def func():
    a = 10
    def inner():
    return a
    return inner
    迭代器:
    可迭代对象: 在数据类型中包含了__iter__.
    迭代器: 访问__iter__可以获取到该数据类型的迭代器. 包含__iter__和__next__

    特点:
    1. 省内存
    2. 惰性机制
    3. 只能向前
    模拟for循环
    lst = []
    it = lst.__iter__() # iter(lst)
    while 1:
    try:
    it.__next__() # next(it)
    except StopIteration:
    break

    生成器:
    生成器的本质是迭代器
    生成器有三种方式来创建:
    1. 生成器函数
    2. 生成器表达式
    3. 类型转换(range())
    生成器函数:
    生成器函数中包含yield
    yield表示返回. 可以分段的执行函数

    生成器函数在被调用的时候. 获取生成器. 而不是执行函数
    def func():
    yield xxxx
    func() # 获取生成器

    生成器使用:
    1. __next__() 执行到下一个yield
    2. send() 可以给上一个yield传值

    yield from:
    把一个可迭代对象转换成生成器

    生成器表达式:
    (结果 for if)

    内置函数: 68个.

    lambda:
    匿名函数
    lambda 参数: 返回值






  • 相关阅读:
    Eclipse RCP与Spring OSGi:技术详解与最佳实践
    AutoCAD 2016机械设计从入门到精通(第2版)
    中文版CorelDRAW X7平面设计
    神奇的中文版Photoshop CC 2017入门书
    Hadoop实战(第2版)
    1048.判断三角形类型
    1046.求最大值
    1047.素数判定
    1056.最大公约数
    1057.众数
  • 原文地址:https://www.cnblogs.com/wodexiaobiji/p/10624108.html
Copyright © 2020-2023  润新知