Friday, 18 May 2018

May 18, 2018 InfoTech Seniors

Let's keep going with another concept:

Python Functions 

A function is a block of code which only runs when it is called.
You can pass data, known as parameters, into a function.
A function can return data as a result.

Creating a Function

In Python a function is defined using the def keyword:

Example: 

def my_function():
  print("Hello from a function"

Calling a Function

To call a function, use the function name followed by parenthesis:   
Example:

def my_function():
  print("Hello from a function")


my_function()

Parameters

Information can be passed to functions as parameter.
Parameters are specified after the function name, inside the parentheses. You can add as many parameters as you want, just separate them with a comma.
The following example has a function with one parameter (fname). When the function is called, we pass along a first name, which is used inside the function to print the full name:

Example:

 def my_function(fname):
  print(fname + " Refsnes")

my_function("Emil")
my_function("Tobias")
my_function("Linus"


Default Parameter Value

The following example shows how to use a default paramter value.
If we call the function without parameter, it uses the default value:
Example:

def my_function(country = "Norway"):
  print("I am from " + country)

my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")  


Return Values

To let a function return a value, use the return statement:
Example:

def my_function(x):
  return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9)) 


Lambda Functions

In python, the keyword lambda is used to create what is known as anonymous functions. These are essentially functions with no pre-defined name. They are good for constructing adaptable functions, and thus good for event handling.

Example:
myfunc = lambda i: i*2
print(myfunc(2))


Lambda defined functions can have more than one defined input, as shown here:

myfunc = lambda x,y: x*y
print(myfunc(3,6))

The power of lambda is better shown when you generate anonymous functions at run-time, as shown in the following example.

Example:
def myfunc(n):
  return lambda i: i*n

doubler = myfunc(2)
tripler = myfunc(3)
val = 11
print("Doubled: " + str(doubler(val)) + ". Tripled: " + str(tripler(val)))
 




 

No comments:

Post a Comment