A function in Python refers to an aggregation of related statements designed to facilitate the performance of a logical, evaluative, or computational task. Also, invoking functions means to allow something to run them. Moreover, experts define functions in Python, which is one of the programming languages, as the defined blocks of code that facilitates the performance of a specific task.
Invoking Function With and Without Parentheses
For the purpose of understanding invoking functions, one must look at the below function that performs a simple task known as string concatenation. Here we will see how one can invoke the function `concatenate_string` with and without parentheses. Moreover, one would be able to answer the popular- what are the two ways of invoking functions.
def concatenate_string(*args) string1 = args string2 = args return string1 + string2 obj = concatenate_string('Hello, ', 'George') print('Function call with Parentheses: ') print(obj) obj = concatenate_string print('Function call without Parentheses: ') print(obj)
Function call with the use of Parentheses: Hello, George Function call without the use of Parentheses:
For the first case, when we call concatenate_string(‘Hello, ‘, ‘George’), the concatenated string is executed and returned by the function.
For the second case, when the calling of concatenate_string i.e. without parentheses takes place, the passing of a reference takes place to the callable rather than executing the function itself. Moreover, the callable is in a position to decide what to do with the reference.
From the above one can see that when the function is called with parentheses, the code is executed and the result is returned. Furthermore, without parentheses, the returning of a function reference takes place to the callable.
Browse more Topics Under Defining Function
- Passing Parameters
- Scope of Variables
- Void Functions and Functions Returning Values
- Flow of Execution
With regards to invoking functions, what would happen in case a function is coded along with a return statement with parentheses? Below is an example.
string1 = args string2 = args def merge_string(string1, string2): return string1 + string2 return merge_string(string1, string2) def func(): conc_obj = concatenate_string('Hello, ', 'George') print(conc_obj) func()
From the above example, it becomes certainly clear that the merge_string is a function that is within the function concatenate_string while the main function (concatenate_string) returns the sub-function (merge_string).
return merge_string(string1, string2)
Here merge_string is invoked with parentheses. As such, the result is provided to the concatenate_string and then the result is passed to func.
With regards to invoking functions, what would happen in case a function is coded along with a return statement without parentheses? Below is an example.
def concatenate_string(): def merge_string(string1, string2): return string1 + string2 return merge_string def func(): # return the reference of merge_string func conc_obj = concatenate_string() print(conc_obj) # prints the reference # executes the reference print(conc_obj('Hello, ', 'George')) func()
Since the use of merge_string takes place without parentheses, the concatenate_string passes the function reference to the callable func rather than executing the merge_string.
Hence, one can say that when the sub-function is coded with parentheses in a return statement, the main function facilitates the execution of the sub-function. Moreover, this execution takes place by the main function and the passing of the result takes place to the callable.
When the coding, in a return statement, of the subfunction happens without parentheses, the passing of the main function takes place to the sub-function reference to the callable instead of executing it. Moreover, here the callable is able to decide what to do with the reference. This is certainly important for invoking functions.
FAQs For Invoking Functions
Question 1: Simply explain how does calling a function in python can occur?
Answer 1: One can call a function from another function, program or the python prompt after defining it. Most noteworthy, in order to call a function, one would have to type the function name with appropriate parameters.
Question 2: What is the use of parenthesis in python?
Answer 2: The parentheses help in the forcing of an order of operations and in invoking functions. Furthermore, in case someone has an additional part in their conditional, parentheses would be useful as it would indicate which or that and paired with.