1
00:00:00,970 --> 00:00:05,060
In Python arguments can be mainly of two kinds.

2
00:00:05,080 --> 00:00:09,460
We have known keyword arguments and we have keyword arguments.

3
00:00:09,460 --> 00:00:13,330
These two here are non keyword arguments.

4
00:00:13,330 --> 00:00:16,060
They don't have keyword attached to them.

5
00:00:16,060 --> 00:00:18,730
However if the case was this

6
00:00:22,090 --> 00:00:31,930
things would still work the same, but these two now would be called keyword arguments. Non keyword arguments

7
00:00:32,000 --> 00:00:36,920
which is this one two are also referred to as positional arguments.

8
00:00:36,920 --> 00:00:43,640
They are called positional arguments because the way you communicate these two arguments to the function

9
00:00:43,640 --> 00:00:46,720
definition is based on position.

10
00:00:46,790 --> 00:00:53,050
So the first position forgoes goes for a and the second 5 goes for B.

11
00:00:53,670 --> 00:00:57,530
So positional and non keyword arguments is the same thing.

12
00:00:57,650 --> 00:00:58,990
If it was keyword

13
00:00:59,000 --> 00:00:59,600
arguments,

14
00:01:04,090 --> 00:01:06,780
the position actually doesn't matter.

15
00:01:07,000 --> 00:01:15,040
So you can pass the value of B as the first argument if you like and 4 will go to B, and 5 will

16
00:01:15,040 --> 00:01:16,570
go to a.

17
00:01:16,630 --> 00:01:21,620
So as long as you pass them like that, keyword arguments the position doesn't matter.

18
00:01:21,670 --> 00:01:24,370
You still would get the same output.

19
00:01:24,400 --> 00:01:29,620
Now we also have default parameters, not arguments parameters.

20
00:01:29,680 --> 00:01:38,500
What that means is that a parameter might have a default value like that which means you don't have

21
00:01:38,530 --> 00:01:51,620
to specify the value of that argument when you call the function so we assign 5 to A and B is 6 by default.

22
00:01:51,680 --> 00:01:56,990
Therefore we get 30. A doesn't necessarily have to be a keyword argument.

23
00:01:56,990 --> 00:02:04,910
It can also be a non keyword argument here in the function call you still get the same output.

24
00:02:05,060 --> 00:02:11,300
Of course you can also assign different value to B.

25
00:02:15,460 --> 00:02:17,930
Just like that.

26
00:02:18,100 --> 00:02:27,630
And lastly you can also leave it like that two non keyword arguments and you still get the output correctly.

27
00:02:27,880 --> 00:02:37,690
Something you should know is that a default parameter can not be before non default parameters.

28
00:02:37,690 --> 00:02:40,630
If you execute that you'll get an error.

29
00:02:40,810 --> 00:02:48,640
It says non default argument follows default argument, 
so non default follows default argument which

30
00:02:48,640 --> 00:02:57,960
is A and that I think is some very good information about function arguments and parameters.

