函数
参数:负责给函数传递一些必要的数据或信息
- 形参(形式参数):在函数定义的时候用到的参数没有具体值,只是一个占位符号
- 实参(实际参数):在调用函数时候输入的值
返回值:函数的执行结果
- 使用return关键字
- 如果没有return默认返回一个None
- 函数一旦执行,则无条件返回,结束返回值
普通参数:按照位置传递
关键字参数:按照关键字传递位置错误不影响传递的参数
收集参数:把没有位置,不能和定义时的参数位置相对应的参数,放入一个特定的数据结构中
语法:
def func(*args):
func_boby
#按照list使用方式访问args得到传入的参数
调用:
func(p1,p2,p3......)
参数名args不是必须这么写,但是,我们推荐args,约定俗成
参数名args前必须有*
收集参数可以和其他参数共存,把关键字参数按字典格式存入收集参数
语法:
def func(**kwargs):
func_boby
#调用:
func(p1,p2,p3.....)
kwargs约定俗成使用
调用的时候把多余关键字参数放入kwargs
访问kwargs需要按照字典格式访问
变量
全局(global):在函数外部定义,在整个全局范围有效,可以在局部内使用
局部(local):在函数内部定义,在局部范围内使用,不可以在全局使用
eval:返回执行结果
exec执行但不返回结果
递归函数:
def Hanoc(n,x,y,z):
'''n代表总共几个盘子
x表示第一个盘子
y表示第二个盘子
z表示第三个盘子'''
if n == 1:
print(x,"--->",z)
if n == 2:
print(x,"-->",y)
print(x,"-->",z)
print(y,"-->",z)
if n > 2:
Hanoc(n-1,x,z,y)
print(x,"-->",z)
Hanoc(n-1,y,x,z)
x = "X"
y = "Y"
z = "Z"
n = 4
Hanoc(n,x,y,z)
del一个列表之后得到的列表还是原列表,,没有生成新列表