Python 函数只能关键字参数赋值

Python 函数只能关键字参数赋值

你可以将形参列表中的变量作为关键字来传递值。关键字参数的使用是可选的。但是,你可以强制函数只能通过关键字来给参数赋值。在关键字参数列表之前加一个星号(*)。

假设我们有一个函数有三个参数,我们希望第二个和第三个参数只能通过关键字来给定。为此,在第一个参数后面加上星号(*)。

内置的print()函数是关键字参数的一个例子。你可以在括号中给出要打印的表达式的列表。打印的值默认以空格分隔。你可以用sep参数指定其他分隔符。

print ("Hello", "World", sep="-")

它将打印−

Hello-World

sep 参数是仅限关键字参数。尝试将其用作非关键字参数。

print ("Hello", "World", "-")

您将获得不同的输出 – 不是您所期望的。

Hello World -

示例

下面是一个带有两个参数amt和rate的用户定义函数intr()。为了使 rate 参数只能通过关键字传递,将它放在前面加上*

def intr(amt,*, rate):
   val = amt*rate/100
   return val

要调用此函数,必须通过关键字传递 rate 的值。

interest = intr(1000, rate=10)

然而,如果你尝试使用默认的位置方式调用函数,会发生错误。

interest = intr(1000, 10)
               ^^^^^^^^^^^^^^
TypeError: intr() takes 1 positional argument but 2 were given

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程