偏函数 变量作用域 闭包 回调函数 返回函数 递归函数 os模块

偏函数

简单来讲偏函数的作用就是把函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新的函数会更简单。

导入functools 模块 import functools

int3 = functools.partial(int2,100)

变量的作用域:

变量起作用的范围,程序中的变量并不是在任意的地方都能进行访问,访问的范围取决于它在哪里定义的【赋值的位置】

局部作用域:L(local)

在函数中定义的变量,每当函数被调用的时候它都会产生一个新的作用域,这个新的作用域我们称之为局部作用域

在局部作用域中定义的变量,我们称之为局部变量,局部变量起作用的范围在当前函数范围内。

嵌套作用域:又称函数作用域

全局作用域:

在模块中定义的变量,并且定义在函数体外的变量,他们所产生的作用域叫做全局作用域,这个变量我们称之为全局变量,全局变量作用的范围整个.py文件。

内置作用域:

系统内部自己定义的变量产生的作用域,叫做内置作用域,起作用的范围,所有的.py文件。

搜索变量的优先级:

局部作用域>嵌套作用域>全局作用域>内置作用域

当这几个作用域中都不存在的时候则报错

关键字globa 声明全局变量

注意:在局部作用域中,不能直接更改全局变量的值,若有需要在局部作用域中更改全局变量,则需要在更改之前对此变量进行声明,使用关键字global进行声明,声明之后便可更改。

注意:在python中,只有模块.类以及函数【def,lambda】这些才会引入新的作用域,而其他的语句块比如:if/else ,while/for,try/except 这些语句块不会引入新的作用域,也就是说在这些语句中定义的变量,在外部仍然可以使用。

回调函数:

将函数作为参数传递到另外一个函数中,这个被传递进去,后来又被调用的函数,我们称之为回调函数。

返回函数:

把函数作为返回值返回的时候,我们可以称这个函数为返回函数。

闭包:

在外函数的内部定义了一个内函数,内函数使用了外函数的临时变量,外函数的返回值是内函数的引用【内函数的函数名】,这时候就构成了一个闭包

一般情况下当函数执行完毕,函数中所有的东西都会被释放掉还给内存,这时候局部变·量也会消失,但是当外函数结束的时候,发现自己还有临时变量在内函数中还会使用。,此时外函数会将自己的临时变量绑定给内函数,自己再结束。

装饰器一定是闭包,但是闭包不一定是装饰器。

函数中的变量在执行的时候被创建,在执行结束的时候被销毁

递归函数:

函数在内部是可以调用其他函数的,当被调用的函数是函数自己本身的时候,我们称这个函数为递归函数。

1.写出临界条件

2.找出这一次和上一次的关系

3.假设函数可以使用,根据上一次的值,求出本次i的结果。

使用递归函数的时候,一定要注意栈溢出的情况。一般情况下不建议使用递归函数。

os功能模块

import os

绝对路径:

在Windows中以盘符开头的或者是\开头的我们统称为绝对路径

在linux或者mac中以“/”开头的为绝对路径

相对路径:

在window中以.或者…或者直接以文件开头,我们称之为相对路径

在linux与mac中与windows表示的相对路径是相同的

os.getcwd() 获取当前文件所在目录绝对路径

os.listdir() 获取当前目录下所有文件的文件名

os.listdir((path)) 获取指定目录下所有文件的文件名,若不指定path则获取当前目录下

. 代表当前目录

… 代表上一级目录

os.path.join(path,paths)\ 拼接

os.path.isdir(path) 判断是否为目录

os.path.isfile(path) 判断是否为文件

os.remove(path) 删除指定的文件,参数必须给

os.mkdir() 创建指定的目录

os.rmdir(path) 删除指定的空目录

os.removedirs(path)

递归删除多层空目录【不存在文件】

os.makedirs(path)

递归创建多层空目录

os.chair(path)

切换到指定目录

猜你喜欢

转载自blog.csdn.net/weixin_45183510/article/details/92012169
今日推荐