python76-Python的函数参数,参数默认值

在某些情况下,程序需要在定义函数时为一个或多个形参指定默认值一一这样在调用函数时就可以省略为该形参传入参数值,而是直接使用该形参的默认值。为形参指定默认值的语法格式如下:

形参名=默认值

从上面的语法格式可以看出,形参的默认值紧跟在形参之后,中间以英文“=”隔开。

# !/usr/bin/env python

# -*- coding: utf-8 -*-

# @Time : 2024/01

# @Author : Laopi

#定义一个函数,为三个参数指定默认值

def person(name="软件测试老痞",weight=80,height=90):

print("name:",name)

print("weight:", weight)

print("height:", height)

return "你的名字是:"+name+"。你的体重是:"+str(weight)+"kg。你的身高是:"+str(height)+"cm。"

#全部使用默认值

print(person())

#只有name使用默认值

print(person("软件测试划水老师傅"))

#所有参数都不使用默认值

print(person(name="软件测试划水老师傅",weight=50,height=60))

#只有height不用默认值

print(person(height=70))

上面程序中在定义person()函数时为name,weight,height形参指定了默认值,因此程序中print(person())函数时没有为name,weight,height参数指定参数值,此时name,weight,height参数将会使用其默认值:程序第二次调用person()函数时为name参数(使用位置参数指定了参数值此时weight,heigh 参数将会使用默认值:程序第三次调用person()函数时为name,weight,height 参数(使用位置参数)都指定了参数值,因此这三个参数都使用开发者传入的参数值:程序第四次调用person()函数时只为height参数(使用关键字参数)传入了参数值此时name,weight参数将使用默认值。运行上面程序,可以看到如下输出结果。

从上面程序可以看出,如果只传入一个位置参数,由于该参数位于第一位,系统会将该参数值传给name参数。因此,我们不能按如下方式调用person()函数。

person(80)

上面调用时,会将80传给name,而不是后面的weight

我们也不能按照如下的方式调用person()函数

print(person(name="亚特兰",80))

因为Python规定:关键字参数必须位于位置参数的后面。因此提示错误:positional argument follows keyword argument

follows keyword argument。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试老痞

你的支持,是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值