2489-刘同学-算法方向-计算机视觉-就业:否 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

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

全局变量:作用域为定义的模块。(少定义)(作为常量)(函数内部想改变全局变量的值,使用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循环

 

[展开全文]

选择结构嵌套

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

[展开全文]

多分支选择结构

 

[展开全文]

双分支选择结构

三元条件运算符

条件为真时的值 if   (条件表达式)  else  条件为假时的值

 

[展开全文]

选择结构

单分支选择结构

条件表达式详解

       在选择和循环结构中,条件表达式的值为False的情况如下:

       False、0、0.0、空值None、空序列对象

[展开全文]

集合:无序可变,集合底层是字典实现,集合的所有元素都是字典中的”键对象“,因此是不能重复且唯一的。

集合创建和删除

1.{}创建

2.set()创建

3.remove()、clear()

集合相关操作

[展开全文]

字典核心底层原理(重要)

列表通过索引值寻找,字典通过键寻找。

字典对象的核心是散列表。散列表是一个稀疏数组,数组的每个单元叫做bucket,每个bucket有两部分:一个是键对象的引用,一个是值对象的引用。

(1)将一个键值对放进字典的底层过程

 

 

[展开全文]

序列解包

序列解包可以用于元组、列表、字典。序列解包可以方便对多个变量进行赋值。

 

[展开全文]

字典元素添加、修改、删除

1.给字典新增键值对,如果键已经存在则被覆盖,若键不存在则增加。

2.使用update()将新字典中所有键值对全部添加到旧字典上,如果键重复则进行覆盖。

3.字典中元素的删除,可以使用del()方法,或者clear()删除所有键值对;pop()删除指定键值对,并返回对应的值对象。

4.popitem():随机删除和返回键值对,字典是无序可变序列,因此没有元素的排序顺序等;popitem弹出随机的项。

 

[展开全文]