函数

函数的定义:

函数是组织好的,可重复使用,用来实现单一,或相关联功能的代码段

函数的作用:

函数能提高应用的模块性,和代码的重复利用率

任何传入参数和第一行语句可以选择性使用文档字符串-----用于存放函数说明

函数内容以冒号起始,并且缩进

基本格式:

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)

原文地址:https://www.cnblogs.com/ALADL/p/9299545.html