3781-吴同学-数据挖掘 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

参数的几种类型

位置参数

默认值参数

命名参数

[展开全文]

传递不可变对象:浅拷贝

 

[展开全文]

浅拷贝和深拷贝

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

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

[展开全文]

传递不可变对象

不可变对象: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也是应用于最近的一层循环。

 

[展开全文]

for循环和可迭代对象遍历

for循环通常用于可迭代对象的遍历,语法格式如下:

for 变量 in 可迭代对象:

       循环体语句

[展开全文]

循环结构

while循环

 

[展开全文]

选择结构嵌套

一定要控制好不同级别代码块的缩进量。

[展开全文]

多分支选择结构

 

[展开全文]