3348-何睿-人工智能学科-计算机视觉方向-就业:否 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

嵌套函数:在函数内部定义的函数

 

[展开全文]

递归函数:在函数体内直接或者间接的自己调用自己。

(1)终止条件:表示递归什么时候结束,一般用于返回值,不再调用自己。

(2)递归步骤:把第n步的值和第n-1步相关联。

[展开全文]

lambda表达式和匿名函数

基本语法:

    lambda arg1,arg2,arg3...:<表达式>

[展开全文]

可变参数(一个*为元组,**为字典)

强制命名参数(当带星号的“可变参数”后面增加新的参数,必须是强制命名参数)

[展开全文]

参数的几种类型

位置参数

默认值参数

命名参数

[展开全文]

传递不可变对象:浅拷贝

 

[展开全文]

浅拷贝和深拷贝

浅拷贝:不拷贝子对象的内容,只拷贝子对象的引用。

深拷贝:会连子对象的内存全部拷贝一份,对子对象的修改不会影响源对象。

[展开全文]

传递不可变对象

不可变对象:int、float、字符串、元组、布尔值

在赋值操作时会创建一个对象。

 

[展开全文]

参数的传递:从实参到形参的赋值操作。

所有的赋值操作都是”引用的赋值“,Python中参数的传递都是“引用传递”,不是“值传递”。

可变对象:字典、列表、集合、自定义的对象

 

[展开全文]

局部变量和全局变量效率测试

局部变量的查询和访问速度比全局变量快,优先考虑局部变量。

[展开全文]

变量的作用域(全局变量和局部变量)

全局变量:作用域为定义的模块。(少定义)(作为常量)(函数内部想改变全局变量的值,使用global声明一下)

局部变量:作用域为函数体。在栈的栈帧中,调用完函数就删除。

 

[展开全文]

函数也是对象,内存底层分析

对象:堆里面的内存块

def:在堆里创建函数对象

同时在栈里创建对象名字是函数名称,值为函数地址,进行调用时,函数名称(),表示调用函数,顺着地址找到函数进行调用,创建一次调用多次,

[展开全文]

形参和实参

文档字符串(函数的注释)

 

[展开全文]

函数用法和底层分析

函数是可重用的程序代码块。python中,定义函数的语法如下:

def 函数名([参数列表]):

      '''文档字符串'''

      函数体/若干语句

要点:

       使用def来定义函数,def之后是空格,然后是函数名和(),Python执行def时,会创建一个函数对象,并绑定到函数名变量上。

 

[展开全文]

推导式创建序列

列表推导式

列表推导式生成列表对象,语法如下:

    [表达式  for   item   in    可迭代对象]

字典推导式

    {key:value  for  value  for  表达式  in  可迭代对象}

集合推导式

    {表达式 for  item   in  可迭代对象}

生成器推导式(用于生成元组)

一个生成器只能运行一次,用过不可再用。

 

[展开全文]

使用zip()并行迭代

zip()函数对多个序列进行迭代

[展开全文]

循环代码优化(循环次数较多)

(1)尽量减少循环内部不必要的运算。

(2)嵌套循环中,尽量减少内层循环的计算,尽可能向外提。

(3)局部变量查询较快,尽量使用局部变量。

(4)连接多个字符串,使用join而不使用+

(5)列表进行元素插入和删除,尽量在尾部jin'xing

[展开全文]

else语句

while、for循环可以附带一个else语句(可选)。如果for、while语句没有被break语句结束,则会执行else子句。否则不执行。

[展开全文]

break语句

break语句可用于while和for循环,用来结束整个循环,当有嵌套循环时,break语句只能跳出最近一层的循环。

continue语句

continue语句用于结束本次循环,继续下一次,多个循环嵌套时,continue也是应用于最近的一层循环。

 

[展开全文]