Python - 位置引數



位置引數

Python 中,可以定義一個 函式,其中一個或多個引數不能使用關鍵字接受其值。這些引數稱為 位置引數

要使引數成為位置引數,請使用正斜槓 (/) 符號。此符號之前的全部引數都將被視為位置引數。

Python 的 內建 input() 函式 是位置引數的一個示例。input 函式的語法為:

input(prompt = "")

Prompt 是一個解釋性字串,供使用者參考。但是,您不能在括號內使用 prompt 關鍵字。

示例

在這個例子中,我們使用了 prompt 關鍵字,這將導致錯誤。

name = input(prompt="Enter your name ")

執行此程式碼後,將顯示以下錯誤訊息:<>

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

位置引數示例

讓我們透過一些示例來了解位置引數:

示例 1

在這個例子中,我們透過在結尾處新增 "/" 將 intr() 函式 的兩個引數都設定為位置引數。

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

執行程式碼後,將顯示以下結果:

12648.0

示例 2

如果嘗試將引數作為關鍵字使用,Python 將引發錯誤,如下例所示。

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

執行此程式碼後,將顯示以下錯誤訊息:

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

示例 3

可以這樣定義函式:它有一些僅限關鍵字的引數和一些僅限位置的引數。這裡,x 是必需的位置引數,y 是常規位置引數,z 是僅限關鍵字引數。

def myfunction(x, /, y, *, z):
   print (x, y, z)
   
myfunction(10, y=20, z=30)
myfunction(10, 20, z=30)

上述程式碼將顯示以下輸出:

10 20 30
10 20 30 
廣告