Having more than one function with the same name is called

overloading
defaulting
casting
referencing

The correct answer is A. overloading.

Overloading is a technique in which a function can have multiple definitions with the same name but different parameters. This allows you to create functions that perform similar tasks but with different input data.

For example, you could have a function called add that takes two integers as input and returns their sum. You could also have a function called add that takes two floats as input and returns their sum. These two functions would have the same name but different parameters, so they would be overloaded.

Overloading can be a useful way to avoid having to create multiple functions with similar names. It can also make your code more readable and maintainable.

Here is an example of how overloading can be used:

“`python
def add(x, y):
return x + y

def add(x, y, z):
return x + y + z

print(add(1, 2))

Table of Contents

3

print(add(1, 2, 3))

6

“`

In this example, the add function is overloaded. The first definition of add takes two integers as input and returns their sum. The second definition of add takes three integers as input and returns their sum.

When you call the add function, Python will use the definition that matches the number and type of arguments that you provide. In the first example, we called add with two integers, so Python used the first definition of add. In the second example, we called add with three integers, so Python used the second definition of add.

Here is a table that summarizes the different options in the question:

| Option | Description |
|—|—|
| A. Overloading | A function can have multiple definitions with the same name but different parameters. |
| B. Defaulting | A value is assigned to a variable if no other value is specified. |
| C. Casting | A value is converted from one type to another. |
| D. Referencing | A variable or object is accessed. |