Python入门(十七):函数参数和返回值

点击跳转
《Python入门系列目录》


  • 参数可以理解为“随机应变的容器”,不需要声明参数类型,所以编程时最好主动检查所传参数类型的正确性
  • 参数的分类
    • 位置参数
    • 关键字参数
    • 默认参数
    • 可变参数

1. 默认参数

  • def 函数名(…, 参数名=默认值):
  • 注意:在定义带有默认参数的函数时,默认参数只能出现在所有参数的最右端,并且任何一个默认参数的右侧都不能再定义非默认参数
# 默认参数示例
def interest(money, day=1, interest_rate=0.05):
    income = 0
    income = money * interest_rate * day / 365
    print(income)


interest(5000)
interest(10000)

2. 任意数量的位置可变参数

  • 在定义函数时无法得知参数个数的情况下,可以在Python中使用*args和**kwargs定义可变参数
  • 只要在变量前面加*即可,并不意味着必须要定义名为args或kwargs
  • 可变参数之前可以定义0到任意多个参数
  • 可变参数永远放在参数的最后面
  • 在传递参数时,可以在原有的参数后面添加0个或多个参数,这些参数将会被放在元组内并传入函数
def exp(x, y, *args):
    print('x:', x)
    print('y:', y)
    print('args:', args)


exp(1, 5, 66, 55, 'abc')
'''
输出
x: 1
y: 5
args: (66, 55, 'abc')
'''

3. 任意数量的关键字可变参数

  • 参数传递时,这些参数会被放在字典内并传入函数中
  • 带两个星号前缀的参数必须在所有带默认值的参数之后
def exp(x, y, *args, **kwargs):
    print('x:', x)
    print('y:', y)
    print('args:', args)
    print('kwargs:', kwargs)


exp(1, 2, 2, 4, 6, a='c', b=1)
'''
输出
x: 1
y: 2
args: (2, 4, 6)
kwargs: {'a': 'c', 'b': 1}
'''

4. 调用函数

  • 位置参数调用

    • 严格函数定义时的位置传入,顺序不可以调换,否则会影响输出结果或者直接报错
  • 关键字参数调用

    • 可以不严格按照位置
    • 关键字参数可以和位置参数混用,但必须在位置参数后面
  • 可变参数调用

    • *args可变参数列表直接将元组或者列表转换为参数

      arg = [0, 10, 2]
      print(range(*arg))  # range(0, 10, 2)
      
    • **kwargs关键字参数列表直接将字典转换为关键字参数

5. 函数返回值

  • return函数返回的运行结果可以保存为一个对象供其他函数调用
  • 返回值的数据类型没有限制,个数可以是一个或一组
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值