Python大数据之python学习总结day09——函数进阶

函数进阶

函数基础回顾


通用定义格式
	def 函数名(形参):
	函数体
	return 返回值
	
通用调用格式
	变量接收返回值 = 函数名(实参)

注意事项:
	1.先定义再调用
	2.每调用一次就执行一次
	3.不调用不执行
	4.如果有形参,调用的时候必须传入实参
	5.如果有返回值,调用的时候建议用变量接收返回值
	6.没有返回值,默认返回是None(空的没有意义)


函数的多个返回值

知识点:

return 返回值: return 结束并瑞出当前函数,顺带把后面的返回值返回给调用者
return 值1,值2: return 后跟多个返回值,默认放到元组中返回此元组

示例:

#知识点:函数返回多个值,核心思想放到容器中返回,默认用的元组
#先定义函数
def show():
    return 1,2,3

#再调用函数
#方式1:接收有元组,再遍历
result = show()
print(result,type(result))
#遍历元组
for i in result:
    print(i)

#方式2:直接拆包接收
a,b,c =show()
print(a,b,c)


函数参数分类

知识点:

形参: 定义函数的时候,括号中内容
    位置参数,缺省参数,可变参数
实参: 调用函数的时候,括号中内容
    位置参数传参,关键字参数传参
特点:
  位置参数: 顺序必须一致,个数必须一致
  关键字参数: 顺序可以不一致
  位置参数: 个数可以不一致
  可变参数: 传入的实参个数可以不定长,*args以元组形式接收数据,**kwargs以字典方式接收数据

位置参数示例:

#先定义函数
def show(name,age,height):
    print(f"姓名:{name},年龄:{age},身高:{height}cm")

#再调用函数
#演示位置参数,弊端:实参和形参的个数和顺序都必须一致
show('张三',18,178.8)

关键字参数示例:

#先定义函数
def show(name,age,height):
    print(f"姓名:{name},年龄:{age},身高:{height}cm")

#再调用函数
#演示关键字参数,优点:实参和形参的顺序可以不一致    弊端:实参和形参的个数必须一致
show(age=18,name='张三',height=178.8)
#注意:如果关键字参数和位置参数一起使用,关键字参数需要放到后面
show('张三',height=178.8,age=18)

缺省参数示例:

#先定义函数
def show(name='张三',age=18,height=188.8):
    print(f"姓名:{name},年龄:{age},身高:{height}cm")

#再调用函数
#演示关键字参数,优点:实参和形参的个数可以不一致
#如果都设置了缺省参数,调用的时候可以都不传,使用默认值
show()
#如果都设置了缺省参数,调用的时候传入了值,以传入的为主
show('李四')
show('李四',19)
show('李四',19,199.9)
#注意:如果定义的时候都设置了缺省参数,调用的时候只想改变后面的某个数据,需要用关键字参数
show(name='张三',height=199.9)

可变参数示例:

"""
可变参数:不定长参数
位置传参:一个个数据,使用*args接收,默认把所有数据存储到元组中,这个元组名叫args
关键字传参:一对对数据,使用**kwargs,默认把所有数据存储到字典中,这个字典吗叫kwargs

"""
#先定义函数
def show1(*args,**kwargs):
    print(args,type(args))
    print(kwargs,type(kwargs))
    
#再调用函数
show1(1,2,3,a=4,b=5,c=6)

综合练习

#需求:定义一个求和的函数
#先定义函数
def get_sum(*args,**kwargs):
    print(args)
    print(kwargs)
    sum = 0
    #遍历元组
    for i in args:
        sum += i
    #遍历字典的所有值
    for i in kwargs.values():
        sum += i
    return sum

#再调用函数
print(get_sum(10,20,30,a =40,b=50,c=60))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值