def my_fun():
print("Welcome")
my_fun() # Calling the function
We must call the function to use it. In above code there is no return value and there is no parameter passed as input to the function.
def my_fun(n): # function starts here
print(n+10)
# function ends here
my_fun(5)
Output
15
def my_fun(n1,n2):
return n1+n2
print(my_fun(12,15)) # 27
Using string
def my_welcome(abc):
print("Welcome ", abc)
my_welcome("Alex") # Welcome Alex
def my_sum(a, b):
sum1=a+b
return sum1
print("Sum = ",my_sum(5,8))
Output
Sum = 13
def my_sum(my_list):
sum1=0
for i in my_list:
sum1=sum1+i
return sum1
my_list=[1,5,7,12]
print("Sum = ",my_sum(my_list))
Output is here
Sum = 25
def my_details(my_marks):
total=sum(my_marks)
avg=total/len(my_marks)
a=[total,avg,len(my_marks)]
return a
my_marks=[4,3,2,11]
marks_final=my_details(my_marks)
print("Details = {}".format(marks_final))
Output is here
Details = [20, 5.0, 4]
def my_string(str1,str2):
str3=str1 + str2
return str3
str_final=my_string('Welcome to',' Python')
print("Here is your final string : ",str_final)
Output is here
Here is your final string : Welcome to Python
def my_details(my_language='Python'):
print("Welcome to {}".format(my_language))
my_details() # No parameter is passed
my_details('PHP') # One string is passed
Output is here
Welcome to Python
Welcome to PHP
In above code we have called the function without any parameter in first line. In second line we have called the function with a parameter. def my_details(my_language='Python',my_database):
print("Welcome to {} with {}".format(my_language,my_database))
my_details('PHP','MySQL')
def my_details(my_database,my_language='Python'):
print("Welcome to {} with {}".format(my_language,my_database))
my_details('PHP','MySQL')
Output is here
Welcome to MySQL with PHP
def my_fun(n1,n2):
return n1+n2,n1-n2
result1,result2=my_fun(12,15)
print("Sum = ", result1)
print("Subtraction = ", result2)
Output
Sum = 27
Subtraction = -3
Using string
def my_welcome(abc1,abc2):
print("Welcome ", abc1 ,'to ', abc2)
my_welcome("Alex", "Python")
Output
Welcome Alex to Python
def my_fun(i1,i2): # can take two arguments
return i1+i2
print(my_fun(2,3,4)) # error
TypeError: my_fun() takes 2 positional arguments but 3 were givendef my_fun(*args): # can receive any number of arguments
sum1=0
for i in args:
sum1=sum1+i
return sum1
print(my_fun(2,3,4)) # 9 , passing 3 arguments
print(my_fun(2,2,3,4)) # 11, passing 4 arguments
def my_fun(**kwargs): # key value pair as input
print(kwargs['c']) # plus2net
for key, value in kwargs.items():
print ("%s : %s" %(key, value))
my_fun(a=' Welcome',b=' to',c=' plus2net')
Output
plus2net
a : Welcome
b : to
c : plus2net
We can use a single fixed parameter followed by any number of key-value pairs.
def greet_person(name, **attributes):
greeting = f"Hello, {name}!"
for attr, value in attributes.items():
greeting += f" Your {attr} is {value}."
return greeting
print(greet_person("Alex", age=30, city="New Delhi", hobby="painting"))
Output
Hello, Alex! Your age is 30. Your city is New Delhi. Your hobby is painting.
def my_add(x,y):
'''Takes two inputs and returns the sum'''
return x+y
print(my_add(5,7)) #12
print(my_add.__doc__)
Here the output of the second print command.
Takes two inputs and returns the sum
We can read the docstrings of Python built in functions
print(len.__doc__)
print(str.__doc__)
print(int.__doc__)
print(print.__doc__)
def my_add(x,y):
return("Sum :", x+y)
Our main file main.py uses this function. ( both files are kept in same directory )
from all_fun import my_add
a,b=4,5
print(my_add(a,b))
Output is here
('Sum :', 9)
n! = n*(n-1)*(n-2)*(n-3) …. .* 1
def fact(n):
print("The number is : ",n)
if n==1:
return 1
else:
result = n*fact(n-1)
print("Part factorial = ", result)
return result
print(" Final factorial :",fact(5))
Output is here
The number is : 5
The number is : 4
The number is : 3
The number is : 2
The number is : 1
Part factorial = 2
Part factorial = 6
Part factorial = 24
Part factorial = 120
Final factorial : 120
There is a limit to using recursive functions calls. We can read the System setting and change this value to a new value by using getrecursionlimit() and setrecursionlimit() methods.
import sys
print(sys.getrecursionlimit()) # output 1000
sys.setrecursionlimit(2000) # new limit to 2000
print(sys.getrecursionlimit()) # output 2000
More on Recursion
Author
🎥 Join me live on YouTubePassionate about coding and teaching, I publish practical tutorials on PHP, Python, JavaScript, SQL, and web development. My goal is to make learning simple, engaging, and project‑oriented with real examples and source code.