您的位置:首页 > 编程语言 > Python开发

Python 函数相关总结

2017-11-05 21:14 260 查看

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
@dect
def aa():


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

4、迭代器和生成器

1)含有’__iter__‘方法的的对象就是可迭代对象,可以使用这个方法生成迭代器

2)含有’__iter__’和’__next__’方法的对象就是迭代器,迭代器可以使用next()方法依次返回值。迭代器可有效节省内存。

3)生成器是可以返回自建的可迭代对象的函数,其形如:

def dec():
n = 0
while True:
yield n
n += 1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python