Python 函数相关总结

来源:互联网 发布:剑网三怎么在淘宝买金 编辑:程序博客网 时间:2024/06/05 15:08

1、基本格式

def 函数名():    #函数体    return #返回值

函数名命名符合变量命的命名规则。

2、返回值

1)不写return默认返回None
2)return包括两种作用一者标志返回值,二者终止函数体。
3)多返回值中间以逗号隔开。

3、参数

1)形参:

(1)完整形参构成如下:

def 形参构成(位置参数, *args , 关键字参数='', **kwargs):

(2)形参如同函数的内建变量,和实参属于映射关系。
(3)位置参数的传参优先级最高
(4)args传入为元祖的形式
(5)kwargs传入为字典的形式
(6)数字、字符串、列表、字典、元祖、函数名都可以作为参数

2)实参:

(1)实参传入如下:

形参构成(位置参数, 关键字参数='')

(2)位置参数必须严格对应
(3)关键字参数在对应位置会被覆盖
(4)可以使用如下方式分散传参:

分散参数(*args,**kwargs)

3、命名空间与作用域

1)内置命名空间:python启动器启动之后就可使用的名字
2)全局命名空间:写在函数外面的变量
3)局部命名空间:函数中的命名空间
4)全局作用域:内置命名空间和全局命名空间中的名字
5)局部作用域:局部命名空间中的名字
6)局部命名空间可以调用它所从属的所有上层空间的名字,反之不行
7)globals()显示全局作用域的名字,locals()显示当前的作用域中的名字。
8)不是同层不能改变变量名的所指向的内存地址
9)global可以声明改变某变量的地址,同时添加它到全局作用域
10)nonlocal使用基本同global,但只可以作用与局部作用域。
11)nonlocal是py3新增加的关键字

4、闭包与装饰器

1)闭包是通过函数引用外层变量来形成的。形如:

def fan():    a = 1    def fanc():        return a    return fanc

2)通过内层函数对外层函数的形成了对外层变量的保留和引用,是一种面向函数编程的重要思想。
3)装饰器是一种十分常用和实用的闭包实例。其基本形式形如:

def dect(key):    def inter(*args, **kwargs):        #运行前装饰        re = key(*args, **kwargs)        # 运行后装饰        return re    return inter@dectdef aa():

4)装饰器可以在调用不可知的情况下对函数进行功能扩展。

4、迭代器和生成器

1)含有’__iter__‘方法的的对象就是可迭代对象,可以使用这个方法生成迭代器
2)含有’__iter__’和’__next__’方法的对象就是迭代器,迭代器可以使用next()方法依次返回值。迭代器可有效节省内存。
3)生成器是可以返回自建的可迭代对象的函数,其形如:

def dec():    n = 0    while True:        yield n        n += 1
原创粉丝点击