函数的定义:
函数是组织好的,可重复使用,用来实现单一,或相关联功能的代码段
函数的作用:
函数能提高应用的模块性,和代码的重复利用率
任何传入参数和第一行语句可以选择性使用文档字符串-----用于存放函数说明
函数内容以冒号起始,并且缩进
基本格式:
def wrapper() #函数的定义
print(xxxxxxx)
wrapper() #函数的调用
函数的返回值:
return
一旦遇到return, 结束整个函数
返回一个值: -------> 只需要在return的结尾加上一个返回的内容
return 18
返回多个值:--------> 可以返回多个值,任意类型的值
函数的参数:
形参: def wrapper(形参)
实参: wrapper(实参)
站在实参角度: 位置传参,关键字传参,混合传参
站在形参角度: 位置参数必须传参
--------------------------------------------
位置参数 默认参数 动态参数
(对应) (性别) (*args,**kwargs)
--------------------------------------------
传参:
动态传参
---------------------------------------------------------------------------
命名空间和作用域
命名空间:
1. 全局命名空间
2. 局部命名空间
3. 内置命名空间
加载顺序:
内置命名空间 (程序运行前加载) ->
全局命名空间 (程序运行中: 从上到下加载) ->
局部命名空间 (程序运行总: 在调用是才加载)
取值顺序:
在局部调用中: 局部命名空间->全局命名空间->内置命名空间
在全局调用: 全局命名空间 -> 内置命名空间
作用域:
全局作用域
局部作用域
global :在局部调用全局变量
locals
nonlocal : 对父级作用域的变量进行引用和修改,并且引用到哪层,从那层及以下此变量全部发生该变
函数名:
函数名本质就是函数的内存地址
闭包:
内部函数对外部作用域变量的引用,称为闭包(非全局作用域)
内部函数:
函数内部定义的函数被称为内部函数
def func():
name = '太白金星'
def inner():
print(name)
内部函数对外部作用域变量的引用,闭包
name = '太白金星'
def inner()
print(name)
----------------------------------------
内部函数:
name = '太白金星'
def inner() ----------->内部函数 内部定义的函数
print(name)