CONTROL FLOW
What is control Flow?
- A program's control flow is the order in which the program's code executes.
- The control flow of a Python program is regulated by conditional statements, loops, and function calls.
Python if Statement
You use the if statement to execute a block of code based on a specified condition.
The syntax of the if statement is as follows:
if condition: if-block
The if statement checks the condition first.
If the condition evaluates to True, it executes the statements in the if-block. Otherwise, it ignores the statements.
Example
marks = input('Enter your score:') if int(marks) >= 40: print("You have passed")
Output
Enter your score:46 You have passed
Python if…else statement
Used when you want to perform an action when a condition is True and another action when the condition is False.
Here is the syntax
if condition: if-block; else: else-block;
- From the above syntax, the if...else will execute the if-block if the condition evaluates to True. Otherwise, it’ll execute the else-block.
An example to illustrate how to use the if...else statement:
marks = input('Enter your score:') if int(age) >= 40: print("You have passed.") else: print("You have failed.")
Python if…elif…else statement
It is used to check multiple conditions and perform an action accordingly.
The elif stands for else if.
Here is the syntax:
if if-condition: if-block elif elif-condition1: elif-block1 elif elif-condition2: elif-block2 ... else: else-block
- The elif statement allows you to check multiple expressions for true and execute a block of code as soon as one of the conditions evaluates to true.
- If no condition evaluates to true, the if...elif...else statement executes the statement in the else branch.
Example
marks = input('Enter your score:') your_marks = int(marks) if your_marks >= 70: print("Your grade is A") elif your_marks >= 60: print("Your grade is B") else: print("null")
Output
Enter your score:70 Your grade is A
Python for Loop
To execute a block of code multiple times in programming you use for loop
Here is the syntax:
for index in range(n): statement
- In this syntax, the index is called a loop counter. And n is the number of times that the loop will execute the statement.
- The range() is a built-in function in Python that generates a sequence of numbers: 0,1, 2, …n-1. Example
for index in range(5): print(index)
Output
0 1 2 3 4
Specifying the starting value for the sequence
The range() function allows you to specify the starting number like this:
range(start,stop)
Example
for index in range(1, 4): print(index)
Output
1 2 3 4
Specifying the increment for the sequence
By default, the range(start, stop) increases the start value by one in each loop iteration.
To specify increment sequence, use the following syntax:
range(start, stop, step)
The following example shows all odd numbers from 0 to 10:
for index in range(0, 11, 2): print(index)
output
0 2 4 6 8 10
Using Python for loop to calculate the sum of a sequence
The following example uses the for loop statement to calculate the sum of numbers from 1 to 50:
sum = 0 for num in range(51): sum += num print(sum)
Output
1275
Python while Loop
Python while statement allows you to execute a code block repeatedly as long as a condition is True
Here is the syntax:
while condition: body
- The condition is an expression that evaluates to a Boolean value, either True or False.
- The while statement checks the condition at the beginning of each iteration and executes the body as long as the condition is True. An example that uses a while statement to show 5 numbers from 0 to 4 to the screen:
max = 5 counter = 0 while counter < max: print(counter) counter += 1
Output
0 1 2 3 4
Python break Statement
- Break statement in python is used to terminate a for loop and a while loop prematurely regardless of the conditional results. Example:
for index in range(0, 11): print(index) if index == 3: break
Output
0 1 2 3
FUNCTIONS IN PYTHON
A function is a block of organized, reusable code that is used to perform a single, related action.
Defining a Function
Here are simple rules to define a function in Python.
- Function blocks begin with the keyword def followed by the function name and parentheses ( ( ) ).
- Any input parameters or arguments should be placed within these parentheses. You can also define parameters inside these parentheses.
- The code block within every function starts with a colon (:) and is indented.
- The statement return [expression] exits a function, optionally passing back an expression to the caller. A return statement with no arguments is the same as return None.
Syntax
def functionname( parameters ): "function_docstring" function_suite return [expression]
Calling a Function
When you want to use a function, you just need to call it. A function call instructs Python to execute the code inside the function.
Returning a value
A function can perform a task like the greet() function. Or it can return a value. The value that a function returns is called a return value.
To return a value from a function, you use the return statement inside the function body.
Function Parameters and Arguments
Parameter and argument can be used for the same thing but from functions perspectives;
A parameter is the variable listed inside the parentheses in the function definition.
An argument is the value that are sent to the function when it is called.
From this example;
def addNumbers(a, b): sum =a + b print("The sum is " ,sum) addNumbers(2,5)
- We have a function called addNumbers which contains two values inside the parenthesis, a, and b. These two values are called parameters.
- We have passed two values along with the function 2 and 5. These values are called arguments.
Python functions with multiple parameters
A function can have zero, one, or multiple parameters.
The following example defines a function called sum() that calculates the sum of two numbers:
def sum(a, b): return a + b total = sum(1,20) print(total)
output
21
In the above example, the sum() function has two parameters a and b, and returns the sum of them. Use commas to separate multiple parameters.
Types of Arguments in Python Function Definition
- Default arguments.
- Keyword arguments.
- Positional arguments.
- Arbitrary positional arguments.
- Arbitrary keyword arguments
Python Recursive Functions
- A recursive function is a function that calls itself and always has condition that stops calling itself.
Where do we use recursive functions in programming?
- To divide a big problem that’s difficult to solve into smaller problems that are easier-to-solve.
- In data structures and algorithms like trees, graphs, and binary searches.
Recursive Function Examples
1.Count Down to Zero
- countdown()takes a positive number as an argument and prints the numbers from the specified argument down to zero: def countdown(n):
def countdown(n): print(n) if n == 0: return # Terminate recursion else: countdown(n - 1) # Recursive call countdown(5)
Output
5 4 3 2 1 0
2.Calculating the sum of a sequence
Recursive functions makes a code shorter and readable.
Suppose we want to calculate the sum of sequence from 1 to n instead of using for loop with range() function we can use recursive function.
def sum(n): if n > 0: return n + sum(n - 1) return 0 result = sum(100) print(result)
Python Lambda Expressions
A lambda function is a small anonymous function that can take any number of arguments, but can only have one expression.
Syntax
lambda arguments : expression
Examples:
def times(n): return lambda x: x * n double = times(2) result = double(2) print(result) result = double(3) print(result)
From the above example times() function returns a function which is a lambda expression.
Python Decorators.
- A decorator is a design pattern in Python that allows a user to add new functionality to an existing object without modifying its structure.
- Decorators are usually called before the definition of a function you want to decorate.
Here is a simple syntax for a basic python decorator
def my_decorator_func(func): def wrapper_func(): # Do something before the function. func() # Do something after the function. return wrapper_func
To use a decorator ,you attach it to a function like you see in the code below.
@my_decorator_func def my_func(): pass
Top comments (0)