3197-高言-人工智能学科-数据挖掘方向-就业:否 扫二维码继续学习 二维码时效为半小时

(0评价)
价格: 免费

nonlocal:用来声明外层的局部变量

global:用来声明全局变量

 

[展开全文]

嵌套函数(内部函数)

在函数内部定义的函数

优点:
(1)封装——数据隐藏

(2)避免重复代码

[展开全文]

浅拷贝和深拷贝

copy(浅拷贝):不拷贝子对象的内容,只拷贝对象的引用;

deepcopy(深拷贝):会连子对象的内存都全部拷贝一份

[展开全文]

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

 

[展开全文]

递归函数计算阶乘

 

[展开全文]

递归函数

递归函数是指:自己调用自己的函数

 

[展开全文]

lambda表达式和匿名函数

通常用于定义简单的函数,实际也是是生成了一个函数对象;lambda表达式只包含一个表达式,不能包含复杂语句

 

[展开全文]

可变参数:

1、一个星号,将多个参数收集到一个“元组”对象中;

2、两个星号,将多个参数收集到一个“字典”对象中。

强制命名参数:

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

 

[展开全文]

参数的几种类型:
1、位置参数

从位置顺序传递,需要的个数和形参匹配,按照位置的参数传递

2、默认值参数

可以为某些参数设置默认值,这些参数在传递时是可选的。

3、命名参数,也称“关键字参数”

 

[展开全文]
传递不可变对象时,包含的子对象是可变的,则方法内修改了这个可变对象,原对象也发生了变化
[展开全文]

参数的传递

从实参到形参如何赋值?python中的参数传递都是”引用传递“,不是“值传递”,具体操作分为两类:

1、对可变对象进行“写操作“,直接作用于原对象本身;

2、对”不可变对象“进行”写操作“,会产生一个新的”对象空间“,并用新的值填充

 

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

不可变的对象有:数字、字符串、元组、function

[展开全文]

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

局部变量的查询和访问速度比全局变快,优先使用

[展开全文]

变量的作用域——全局变量和局部变量

(一)全局变量

1、全局变量:作用域为定义的模块,从定义位置开始直到模块结束;

2、全局变量降低了函数的通用性和可读性,应尽量避免全局变量的使用;

3、全局变量一般做常量使用;

4、函数内要改变全局变量的值,使用global声明一下

(二)局部变量:

1、在函数体中(包含形式参数)声明的变量;

2、局部变量的引用比全局变量快,优先考虑使用;

3、如果局部变量和全局变量同名,则在函数内隐藏全局变量,只是用同名的局部变量

[展开全文]

五、返回值

1、如果函数中包含return语句,则结束函数执行并返回值;

2、如果函数中不包含return语句,则返回none值;

3、要返回多个返回值,使用列表、元组、集合多个值“存起来”即可。

 

[展开全文]

三、行参和实参

形参用于定义,实参用于调用;

调用的实参必须和形参的个数一致

 

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

一般来说,我们通过定义函数让人们看懂函数的意思,但是定义毕竟太过简单,所以我们还需要字符串说明

我们调用help(函数名.__doc__)可以打印输出函数的文档字符串

 

[展开全文]

函数用法和底层分析:

函数通常是要完成一个功能,要被反复使用

一、函数的分类:
1、内置函数——str()、list()、len()等为内置函数;

2、标准库函数——import语法导入库;

3、第三方函数;

4、用户自定义函数

 

二、核心要点:

1、我们使用def来定义函数,然后就是一个空格和函数名称;

2、参数列表:

(1)圆括号内是形式参数列表,有多个参数则使用逗号隔开;

(2)形式参数不需要声明类型,也不需要制定函数返回值类型;

(3)无参数,也必须保留空的圆括号;

(4)实参列表必须与形参列表一一对应

3、调用函数之前,必须要先定义函数

(1)内置函数对象会自动创建;

(2)标准库和第三方函数,通过import导入模块时,会执行模块中def语句

4、return返回值:
(1)如果函数中包含return语句,则结束函数执行并返回值;

(2)如果函数中不包含return语句,则返回none值

 

 

[展开全文]

推导式创建序列

是python中典型的特点,可以提高效率

1、列表推导式

通过推导式生成列表对象

2、字典推导式

3、集合推导式

4、生成器推到器,生成元组

 

[展开全文]