Course
Keyword-Only Arguments
Python Tutorial
This Python tutorial has been written for the beginners to help them understand the basic to advanced concepts of Python Programming Language. After completing this tutorial, you will find yourself at a great level of expertise in Python, from where you can take yourself to the next levels to become a world class Software Engineer.
Keyword-Only Arguments
You can use the variables in formal argument list as keywords to pass value. Use of keyword arguments is optional. But, you can force the function be given arguments by keyword only. You should put an astreisk (
*
) before the keyword-only arguments list.Let us say we have a function with three arguments, out of which we want second and third arguments to be keyword-only. For that, put
*
after the first argument.The built-in print() function is an example of keyword-only arguments. You can give list of expressions to be printed in the parentheses. The printed values are separated by a white space by default. You can specify any other separation character instead with sep argument.
print ("Hello", "World", sep="-")
It will print
Hello-World
The sep argument is keyword-only. Try using it as non-keyword argument.
print ("Hello", "World", "-")
You'll get different output − not as desired.
Hello World
Example
In the following user defined function
intr()
with two arguments, amt and rate. To make the rate argument keyword-only, put "*
" before it.def intr(amt,*, rate): val = amt*rate/100 return val
To call this function, the value for rate must be passed by keyword.
interest = intr(1000, rate=10)
However, if you try to use the default positional way of calling the function, you get an error.
interest = intr(1000, 10) ^^^^^^^^^^^^^^TypeError: intr() takes 1 positional argument but 2 were given
Practice with Online Editor
Note: This Python online Editor is a Python interpreter written in Rust, RustPython may not fully support all Python standard libraries and third-party libraries yet.
Remember to save code(Ctrl
+S
Or
Command
+S
) before run it.