python第十一天
Posted yangzhaon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python第十一天相关的知识,希望对你有一定的参考价值。
函数总结:
def func(a, b):
print(a, b)
return a + b
四个组成部分:
函数名:调用函数的依据
函数体:执行函数逻辑的
参数列表:为函数提供内部资源
返回值:将函数执行结果返回给外界
返回值:1、空返回(没有return或空return) 2、一键返回 3、多值返回:装有多个值的元组
参数列表:
实参:外界调用函数传入的参数,拥有实际值
形参:函数定义时,()中定于用来接收实参的值
关系:形参是对实参值得拷贝
实参分类:
位置实参:按位置对应传递参数,必须出现在关键字实参之前,
关键字实参:不需要按位置对应传参,用参数名标注为谁传参,必须出现在位置实参值后
位置实参:只能给位置形参传参(位置形参,默认形参,可变长位置形参)
关键字实参:可以任意形参传参
出现顺序:
位置形参》默认形参》可变长位置形参》关键字形参》可变长关键字形参
函数对象
定义:函数名就是存放了函数的内存地址,存放了内存地址的变量都是对象,即函数名就是函数对象,
函数对象的应用:
1、可以直接被引用: fn = cp_fn
2、可以当做函数参数传递:computed(cp_fn,100,20)
3、可以作为函数的返回值:get_cp_fn(cmd):return add
4、可以作为容器类型的元素: 函数对应关系中的值
名称空间
定义:存放名字与内存空间地址对应关系的容器
作用:解决有名字有限,导致名字重复发送冲突的问题
三种名称空间:
Built-in:内置名称空间,系统级, 一个,随解释器执行而产生,解释器停止而销毁。
Global:全局名称空间,文件级,多个,随着所属文件加载而生产,文件运行完毕而销毁。
Local:局部名称空间,函数级,多个,对所属函数执行而产生,函数执行完毕而销毁。
注意:
del 名字 :可以移除查找最近的名字与内存空间地址的对应关系
加载顺序:Built-in 》Global 》Local
global关键词:
def fn()
global num
num = 20
print(num)
# global关键词可以将local的名字提升为Global的名字
#一个文件中的Global名字就是一个,所以函数内部外部使用的名字都是一个
函数的嵌套
# 将函数直接定义到另一个函数内部,就可以使用外部函数中的名字
def outer():
num = 20
def inner():
print(num) # inner就可以直接使用outer中的名字
inner()
outer()
作用域
定义:名字起作用的范围
作用:解决同名字可以共存的问题
四种作用域:
Built-in:内置作用域,所有文件所有函数
Global:全局作用域,当前文件所有函数
Enclosing:嵌套作用域,当前函数与当前函数的内部函数
Local:局部作用域,当前函数
注意:不用作用域之前的名字不冲突,以达到名字的重用
查找顺序:Local》Enclosing》Global》Built-in
闭包(closure)
定义:被包裹的函数,称之为闭包
完整闭包结:1、将函数进行封包处理;2、提升函数名的作用域,将内部函数队形作为外部函数的返回值
以上是关于python第十一天的主要内容,如果未能解决你的问题,请参考以下文章