python 函数的参数


参数类型

python函数具有非常灵活的参数形态,参数可以为空,也可以非常复杂。 由简入繁: positional argument default argument variable argument keyword argument name keyword argument

一、positional argument位置参数

位置参数,这些参数在调用函数(call function)时位置要固定。

1、格式

def functionname(positonalArgument):
“函数文档字符串”
function_suite
return [expression]

2、示例

def printinfo(name):
    print('Name:{0}'.format(name))

printinfo('这是位置参数')  # Name:这是位置参数

二、default argument 默认参数

默认参数,就是传参时没有给函数传入参数时,函数默认的参数。

1、格式

def functionname(defaultArgument=Value):
“函数说明字符串”
function_suite
return [expression]

defaultArgument=Value;Value是参数defaultArgument的默认值

2、实例

def printinfo(default=8):
    print('default:{0}'.format(default))

printinfo()  # default:8
printinfo(10)  # default:10

三、variable argument可变参数

可变参数,见名知意,参数传入的数量可以是0个1个2个…n个。

1、格式

def functionname(arg1, arg2=v, *args):
“函数_文档字符串”
function_suite
return [expression]
其中位置参数arg1、默认参数arg2=v,为可选

2、实例

def printinfo(*args):
  
    for var in args:
        print(var)

printinfo(10)  # 10
printinfo(70, 60, 50)
# 70
# 60
# 50

可变参数允许传入零个到任意个参数,它们在函数调用时自动组装为一个元组 (tuple)。

四、keyword argument关键字参数

关键字参数,key=value形式,以键值方式存储,自动组装成字典形式。

1、格式

def functionname(arg1, arg2=v, args, **kw):
“函数_文档字符串”
function_suite
return [expression]

2、实例

def printinfo(arg1, *args, **kwargs):
    print(arg1)
    print(args)
    print(kwargs)


printinfo(70, 60, 50)
# 70
# (60, 50)
# {}。
printinfo(70, 60, 50, a='', b=2)
# 70
# (60, 50)
# {'a': 1, 'b': 2}

a=’ '和b=2自动封装成字典(dict)形式,同时遵守字典的规则。

五、name keyword argument 命名关键字参数

命名关键字参数、顾名思义,就是在关键字参数的基础上指定key的名字。

1、格式

def functionname(arg1, arg2=v, args, *, nkw, *kw):
“函数_文档字符串”
function_suite
return [expression]

  • *, nkw - 命名关键字参数,用户想要输入的关键字参数,定义方式是在nkw 前面加个分隔符 *。
  • 使用命名关键字参数时,要特别注意不能缺少参数名。

2、示例

def printinfo(arg1, *, nkw, **kwargs):
    print(arg1)
    print(nkw)
    print(kwargs)


printinfo(70, nkw=10, a=1, b=2)
# 70
# 10
# {'a': 1, 'b': 2}

printinfo(70, 10, a=1, b=2)
# TypeError: printinfo() takes 1 positional argument but 2 were given

六、参数组合

在 Python 中定义函数,可以用位置参数、默认参数、可变参数、命名关键字参数和关键字参数,这 5 种参数中的 4 个都可以一起使用,但是注意,参数定义的顺序必须是:

  • 位置参数、默认参数、可变参数和关键字参数。

  • 位置参数、默认参数、命名关键字参数和关键字参数。

  • 要注意定义可变参数和关键字参数的语法:

    1. *args 是可变参数,args 接收的是一个 tuple
    2. **kw 是关键字参数,kw 接收的是一个 dict

总结

本次了解了参数的类型及格式。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

求索永无止境

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值