柚子快报邀请码778899分享:初始函数

http://www.51969.com/

函数

func()

func 函数的内存地址

函数名加括号 == 调用

函数的地址加括号 == 调用

函数定义 : 关键字 函数名 语法 参数 返回值

函数调用 : 函数名 函数的内存地址 传实参 接收返回值

函数名

函数名可以像一个变量一样去使用 -----> 函数是第一类对象

函数名可以赋值

函数名可以作为容器类型中的一项

函数名可以作为函数的参数

函数名可以作为函数的返回值

参数

形参 位置参数 *args 默认参数 **kwargs

实参 :

按照位置传参 : 1,2,3 *[1,2,3]

按照关键字传参 : a = 1,b = 2, **{'a':1,'b':2}

动态位置参数 *args

动态关键字参数 **kwargs

位置 > 动态位置参数 > 默认(关键字)参数 > 动态关键字参数

返回值

没有返回值 有一个 有多个

命名空间 存放名字和值关系的空间

局部命名空间 在函数中声明的变量会放在局部命名空间

全局命名空间 我们直接在py文件中,函数外声明的变量都属于全局命名空间

内置命名空间 存放python解释器为我们提供的名字,list,tuple,str,int这些都是内置命名空间

加载顺序: 先来后到

内置 > 全局 >局部

同一个名字 : 局部覆盖全局和内置,全局覆盖内置 ------> 永远不要起和你知道的内置命名空间中重名的名字

取值顺序:

局部>全局>内置

作用域

全局命名空间作用域 : 局部和全局,加载是在运行的时候

局部命名空间作用域 : 函数局部,加载是在调用的时候

内置命名空间作用域 : 全局和局部,加载是在运行之后代码之前

globals( ) 查看全局作用域中的变量和函数名

locals( ) 查看局部作用域中的变量和函数名

函数的嵌套:

函数的注释

global

可变数据类型在局部可以进行修改操作,不可变类型需要global

nonlocal

表示在局部作用域中,调用父级命名空间中的变量

柚子快报邀请码778899分享:初始函数

http://www.51969.com/

查看原文