函数的基本类型

函数:
1、引用传递
2、可变参数、命名参数、万能参数
3、匿名函数(lambda)
4、闭包(有点难)
5、递归
6、偏函数
7、函数作为参数传递
8、函数调用全局变量
9、全局变量和局部变量

函数的参数
-----函数的返回值
------可变参数,,命名参数等等
--------递归

装饰器(函数的深层次使用)

1、引用传递
引用传递,实质是在传递内存地址

2、函数默认值
# 在python,可以为函数的参数给予默认值
# 一旦某个存在默认值,那么如果在调用的时候,
# 不传递这个参数,则按照默认值
# 减少调用时的繁杂操作
注意:在定义函数时,如果存在有默认值的参数,一定要写在没有默认值的参数后面,
否则在调用时,无法确定参数到底传给哪个参数。

3、全局变量和局部变量
全局变量:就是定义在py文件中,能被任何函数、类能够正常访问的变量。

局class variable:
a = '我是类变量'

def showvarible(self):
    b = '我是函数变量'
    print(variable.a)
    print(b)

variable().showvarible()

注意:函数本身是对象,存储在堆中,但是函数的调用是在栈中调用,压栈

4、参数问题
1、默认值参数
2、可变参数
3、命名参数
4、万能参数

在Python中,函数是对象,函数中参数可以是任何类型
注意:所以说在Python中,函数的参数可以是函数

5、匿名函数
lambda表达式
lambda:语言

def a():
	print("hello world")

# lambda:print("hello world")

def add(x, y):
	return x + y

# lambda x,y: x + y

优点:简化代码书写
缺点:降低了代码的可读性,增加代码的维护成本

6、递归
递归的必要条件:
1、函数自身调用自身
递归函数
递归函数用最简单的一句话说应该就是:在A函数内部调用A函数了。
随便写个代码 举个列子

def recursive_test(n):
print(‘数字:’,n)
recursive_test(n-1)

recursive_test(5)
1
2
3
4
5
上面这个就是一个不完整的递归函数 recursive_test在函数内部 不断的调用自己
下面是输出的结果

在这里插入图片描述
2、要有终止条件(死循环)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值