Python函数高级

走远了吗. 提交于 2019-11-29 19:15:43

函数高级 :
1、引用传递2、递归3、默认值参数4、命名参数5、匿名函数

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

2、递归:递归的必要条件:
(1)、函数自身调用自身
(2)、要有终止条件(死循环)
def get_sum02(num):
if num == 0:
return 0
else:
return num + get_sum02(num - 1)

sum = get_sum02(100)
print(sum)

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

if name == ‘main’:
r = float(input(“请输入圆的半径:”))
PI = 3.14
area = get_circle_area(r, 3.14159)
print(“半径为{}的圆面积是{}”.format(r, area))

4、命名参数:

def show(name, age, sex, **kwargs):
print(“我的名字是”, name)
print(“我的性别是”, sex)
print(“我的年龄是”, age)
print(kwargs)
print(“我家在”, address)
print(“我的身高是:”, height)
print(“我的体重是”, weight)
print(“我的电话号码是:”, tel)

show(“刘建宏”, 16, “男”, address=“银河系地球村中国号”, weight=300, height=500, tel=“123456789987654321”)
5、匿名函数:
lambda表达式
lambda:语言

def a(): print(“hello world”)
# lambda:print(“hello world”)
def add(x, y): return x + y

lambda x,y: x + y
例如“
def show(a, msg):
print(“我说了一句话---->”, msg)
a()
show(lambda :print(“hello, 我是一个lambda表达式”), “我是一个函数,这个参数是函数”)

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!