Python 函数位置参数

Python 函数位置参数

在定义函数时,可以设置一个或多个参数不能通过关键字传入其值。这样的参数被称为位置参数。

Python内置的input()函数就是位置参数的一个示例。input函数的语法如下:

input(prompt = "")

提示是为了用户的利益而添加的一段解释性字符串。例如 –

name = input("enter your name ")

不过,在括号内不能使用 prompt 关键字。

name = input (prompt="Enter your name ")
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: input() takes no keyword arguments

使用“/”符号使一个参数成为位置参数。在这个符号之前的所有参数都将被视为位置参数。

示例

我们通过在末尾添加“/”将intr()函数的两个参数都设置为位置参数。

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

如果我们尝试使用参数作为关键字,Python会抛出以下错误信息:

interest = intr(amt=1000, rate=10)
              ^^^^^^^^^^^^^^^^^^^^^^^
TypeError: intr() got some positional-only arguments passed as keyword arguments: 'amt, rate'

一个函数可以被定义为只带有关键字参数和只带有位置参数。

def myfunction(x, /, y, *, z):
   print (x, y, z)

在这个函数中,x是一个必需的位置参数,y是一个常规的位置参数(你可以将其作为关键字使用),z是一个仅限关键字参数。

以下函数调用是有效的 –

myfunction(10, y=20, z=30)
myfunction(10, 20, z=30)

然而,这些调用会引发错误−

myfunction(x=10, y=20, z=30)
TypeError: myfunction() got some positional-only arguments passed as keyword arguments: 'x'

   myfunction(10, 20, 30)
TypeError: myfunction() takes 2 positional arguments but 3 were given

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程