By default, your first argument passed to a function will be assigned to a first parameter. If you want to assign a first argument to a second (or n:th) parameter, you must give it as the keyword argument. See, for example
In [19]: def myfunc(x='X', y=5):
...: print(x,y)
...:
...:
# No arguments -> Using default parameters
In [20]: myfunc()
X 5
# Only one positional argument -> Assigned to the first parameter, which is x
In [21]: myfunc(100)
100 5
# One keyword argument -> Assigned by name to parameter y
In [22]: myfunc(y=100)
X 100
The type of arguments do not matter, but a order you used in a function definition.
Want to be a master in Data Science? Enroll in this Data Scientist