Day 2 of diving into **Python functions** — today we'll look at:
• _positional arguments_
• _named (or keyword) arguments_
I don't have a preference on which term to use for the latter!
Here's a simple function – see attached image <code in ALT text>
—> Which of the five function calls will not work?
---
While you think about the answer, you can refresh your memory about the terms with yesterdays toot thread!
The parameters in the code above are `person` and `number`
The arguments are the strings with names and the integers used in the function calls
/1
Let's look at all five function calls in this example:
– 1 –
`greet_person("Elizabeth", 5)`
This is the most commonly used function call. The arguments are _positional arguments_
This means that the values `"Elizabeth"` and `5` are matched to the parameter names `person` and `number` depending on the their position in the function call
The first argument is assigned to the first parameter; the second argument to the second parameter…
/2
– 2 –
`greet_person("Ishaan", number=3)`
In the second call, the first argument, `"Ishaan"`, is a positional argument as in the first example
However, the second argument is a _named argument_ or a _keyword argument_
The argument is matched to the parameter by naming it. You're using the parameter name with an equals before the argument in the function call
Therefore, in this second example, you have one positional argument and one keyword (or named) argument
/3
– 3 –
`greet_person(person="Stephen", 10)`
This seems identical to the case in the second example, but we come across one of the rules when using positional and keyword parameters
See the description of the `SyntaxError`. It says `positional argument follows keyword argument`
When using a mixture of positional and keyword arguments, the positional arguments must come first
And this makes perfect sense, since Python is relying on the position of these arguments within the function call to know which parameter name to assign them to
/4
# Summary: positional arguments and named (keyword) arguments
In summary, arguments can be positional arguments or named (keyword) arguments
When using positional arguments, the arguments are matched to parameter names depending on their position
Named (keyword) arguments include the parameter name in the function call
Tomorrow, we’ll look at optional arguments which have a default value…
/7
In case you want to go back to Day 1 of this series on Intermediate Python functions, here's the link: https://qoto.org/@s_gruppetta/109301873510386964