AI基础_Day05

  1. 列表 推导式

格式: 列表变量 = [表达式 for 变量 in range(10)]
表达式中需要使用后面的变量

  1. 组包和拆包
    组包: 将多个值同时赋给一个变量时,解释器会进行自动组包操作
    拆包: 将一个容器值(元组),里面的多个数据同时赋值多个变量,解释器会进行拆包操作
    注意: 拆包要注意被赋值的变量个数和元组中的值个数相同

  2. 函数返回多个值
    当在函数中,需要返回多个值的情况下,可以在return 后面直接将多个值写出来
    解释器在返回时,会将多个值自动进行组包

  3. 函数嵌套调用及过程
    函数嵌套是指,在一个函数的函数体内,又去调用了另外一个函数
    如果函数内调用了另一个函数,那么当前函数会中断执行,跳转到另一个函数位置进行执行,被调用执行结束后,才回到当前函数恢复中断,继续执行
    无论函数如何调用: 谁调用函数,被调用函数执行完就返回到谁那去

  4. 递归函数的调用及过程(了解)
    递归调用是一种特殊的嵌套调用
    本质就是自己调用自己

  5. 变量作用域
    全局变量
    是指定义函数外的变量,不属于任何一个函数,这个变量可以在任何函数中使用.
    公共
    局部变量
    定义在某个函数中,该变量只在该函数中有效,除该函数外,都不能使用这个变量

当全局变量和局部变量同名时,在函数内使用变量,优先使用局部变量
局部变量优先级高于全局变量

  1. 多个函数间利用全局变量共享数据
    因为全局变量在使用时,特性是共享,所以可以利用全局变量,实现函数间的数据通信

  2. 默认值参数
    在定义函数时,函数中的形式参数,被赋值,这个值就是默认值
    当在函数调用时,如果给定了值,那么就使用给定值,如果没有给定值,那就使用默认值

注意:
默认值参数只能出现在参数列表的最右侧

  1. 位置参数
    实参
    使用位置参数时,因为类型的原因,那么实参的顺序要和形参的顺序完全一致
    当没有默认值的情况下,参数的个数和也要一致

  2. 关键字参数
    形参
    在定义形式参时,每个参数都可以理解成一个key
    使用这个key,可以明确的为当前这个参数进行赋值
    使用关键字参数,可以忽略参数的顺序问题

  3. 不定长位置参数
    args 在参数中定义了该形参后,那可以通过args 接收多个不确定个数的位置参数

  4. 不定长关键字参数
    kwargs 在参数中定义了该形参后,那可以通过kwargs 接收多个不确定个数的关键字参数

重点:
记住这种函数定义格式:当定义函数时,如果函数的参数想接收任意类型和个数,那么定义格式如下:

def 函数名(*args, **kwargs):
函数体内容

  1. 混合参数(了解)
    如果很多个值都是不定长参数,那么这种情况下,可以将缺省参数放到 *args的后面, 但如果有kwargs的话,kwargs必须是最后的

def func(a,b,c,d,e, *args,f=1,g=2,**kwargs):
函数体代码

  1. 可变参数二次传递(重点理解)

  2. 引用概念
    引用就是数据在内存中分配的存储空间的地址
    id()可以得到数据在内存中的地址

通过引用,可以方便的在函数之间进行数据传递,实现函数间的数据通信

  1. 数字类型和字符串类型数据的缓存区(了解)
    为了在程序中使用数据时,效率更高,ptyhon解释会在程序加载后,产生一个缓存区,缓存区中存放是常用的数据
    数字: -5 ~ 255
    字符串: 长度为小于20的字符串

  2. 可变类型和不可变类型
    不可变类型:
    数字 int
    字符串 str
    浮点数 float
    布尔类型 bool
    元组 tuple

特点: 这些数据都是不可以直接修改的,如果在修改或赋值时,都会开辟一个新空间

可变类型:
列表 list
字典 dict
集合 set

特点: 这个些数据类型,是可以直接在原对象上进行修改数据,修改完成后,并不影响原对象地址

  1. 函数版学生管理系统

这个程序要理解记住的是逻辑,而不是代码

  1. 匿名函数

  2. 高阶函数map&reduce&filter

posted @ 2023-03-27 01:14  积极向上的徐先生  阅读(9)  评论(0编辑  收藏  举报