Type of function parameters

Within a program file the type of function parameters do get the SAME type of the caller, but not fot a function imported.
For example:
The command 'xxx(‘123.456’, '789, ‘xyz’), then the function ‘xxx’ has the function parameters which type is corresponding with the caller (so they are all STRING), but when the function ‘xxx’ has been imported, then the type of respectively function parameters have here: FLOAT, INT, STRING (instead of all STRING)!?

How can I prevent, that the function parameter will NOT change its type?

Can you give an actual example, not a made up one?

The beginning of wisdom is the definition of terms.

This qoute is attributed to Socrates who happened to live couple of thousand years ago. But it’s still relevant. Definitions of parameter and argument are available in Python documentation: What is the difference between arguments and parameters?

Parameters are defined by the names that appear in a function definition, whereas arguments are the values actually passed to a function when calling it.

Based definitions above - are we talking about parameters or arguments?

And I second Steven - please provide actual example of the problem.