Python Fundamentals

The above image explains the use of 'if' statement using an example of Facebook login.

Facebook login page will direct you to two pages based on whether your username and password is a match to your account.
If the password entered is wrong, it will direct you to the page on the left.
If the password entered is correct, you will be directed to your homepage.The following are the five fundamentals required to master Python:

  1. Datatypes
  2. Flow Control
  3. Functions
  4. File Handling
  5. Object & Class

Datatypes
All data values in Python are represented by objects and each object or value has a datatype.

There are eight native datatypes in Python.

Boolean
Numbers
Strings
Bytes & Byte Arrays
Lists
Tuples
Sets
Dictionaries

#Boolean
number = [1,2,3,4,5]
boolean = 3 in number
print(boolean)

#Numbers
num1 = 5**3
num2 = 32//3
num3 = 32/3
print('num1 is',num1)
print('num2 is',num2)
print('num3 is',num3)

#Strings
str1 = "Welcome"
str2 = " to Edureka's Python Programming Blog"
str3 = str1 + str2
print('str3 is',str3)
print(str3[0:10])
print(str3[-5:])
print(str3[:-5])

#Lists
countries = ['India', 'Australia', 'United States', 'Canada', 'Singapore']
print(len(countries))
print(countries)
countries.append('Brazil')
print(countries)
countries.insert(2, 'United Kingdom')
print(countries)

#Tuples
sports_tuple = ('Cricket', 'Basketball', 'Football')
sports_list = list(sports_tuple)
sports_list.append('Baseball')
print(sports_list)
print(sports_tuple)

#Dictionary
#Indian Government
Government = {'Legislature':'Parliament', 'Executive':'PM & Cabinet', 'Judiciary':'Supreme Court'}
print('Indian Government has ',Government)
#Modifying for USA
Government['Legislature']='Congress'
Government['Executive']='President & Cabinet'
print('USA Government has ',Government)

The output of the above code is as follows:

True

num1 is 125
num2 is 10
num3 is 10.666666666666666

str3 is Welcome to Edureka's Python Programming Blog
Welcome to
 Blog
Welcome to Edureka's Python Programming

5
['India', 'Australia', 'United States', 'Canada', 'Singapore']
['India', 'Australia', 'United States', 'Canada', 'Singapore', 'Brazil']<a name="FlowControl"></a>
['India', 'Australia', 'United Kingdom', 'United States', 'Canada', 'Singapore', 'Brazil']

['Cricket', 'Basketball', 'Football', 'Baseball']
('Cricket', 'Basketball', 'Football')

Indian Government has {'Legislature': 'Parliament', 'Judiciary': 'Supreme Court', 'Executive': 'PM & Cabinet'}
USA Government has {'Legislature': 'Congress', 'Judiciary': 'Supreme Court', 'Executive': 'President & Cabinet'}

Flow Control

Flow Control lets us define a flow in executing our programs. To mimic the real world, you need to transform real-world situations into your program. For this, you need to control the execution of your program statements using Flow Controls.

There are six basic flow controls used in Python programming:

if
for
while
break
continue
pass

If Statement
The Python compound statement 'if' lets you conditionally execute blocks of statements.

Syntax of If statement:

if expression:
statement (s)
elif expression:
statement (s)
elif expression:
statement (s)
...
else:
statement (s)

The above image explains the use of 'if' statement using an example of Facebook login.

Facebook login page will direct you to two pages based on whether your username and password is a match to your account.
If the password entered is wrong, it will direct you to the page on the left.
If the password entered is correct, you will be directed to your homepage.

Let us now look at how Facebook would use the If statement.

password = facebook_hash(input_password)
if password == hash_password
print('Login successful.')
else
print('Login failed. Incorrect password.')

The above code just gives a high-level implementation of If statement in the Facebook login example used. Facebook_hash() function takes the input_password as a parameter and compares it with the hash value stored for that particular user.

For Statement
The for statement supports repeated execution of a statement or block of statements that is controlled by an iterable expression.

Syntax of For statement:

for target in iterable:
statement (s)

The 'for' statement can be understood from the above example.

Listing 'Friends' from your profile will display the names and photos of all of your friends
To achieve this, Facebook gets your 'friendlist' list containing all the profiles of your friends
Facebook then starts displaying the HTML of all the profiles until the list index reaches 'NULL'
The action of populating all the profiles onto your page is controlled by 'for' statement.

Let us now look at a sample program in Python to demonstrate the For statement.

travelling = input("Are you travelling? Yes or No:")
while travelling == 'yes':
num = int(input("Enter the number of people travelling:"))
for num in range(1,num+1):
name = input("Enter Details \n Name:")
age = input("Age:")
sex = input("Male or Female:")
print("Details Stored \n",name)
print(age)
print(sex)
print("Thank you!")
travelling = input("Are you travelling? Yes or No:")
print("Please come back again.")

The output is as below:

Are you travelling? Yes or No:Yes

Enter the number of people travelling:1
Enter Details 
Name:Harry
Age:20
Male or Female:Male
Details Stored
Harry
20
Male
Thank you
Are you travelling? Yes or No:No
Please come back again.

While Statement
The while statement in Python programming supports repeated execution of a statement or block of statements that is controlled by a conditional expression.

Syntax of While statement:

while expression:
statement (s)

We will use the above Facebook Newsfeed to understand the use of while loop.

When we log in to our homepage on Facebook, we have about 10 stories loaded on our newsfeed
As soon as we reach the end of the page, Facebook loads another 10 stories onto our newsfeed
This demonstrates how 'while' loop can be used to achieve this

Let us now look at a sample program in Python to demonstrate the While statement.

count = 0
print('Printing numbers from 0 to 9')
while (count<10):
print('The count is ',count)
count = count+1
print('Good Bye')

This program prints numbers from 0 to 9 using the while statement to restrict the loop till it reaches 9. The output is as below:

The count is 0
The count is 1
The count is 2
The count is 3
The count is 4
The count is 5
The count is 6
The count is 7
The count is 8
The count is 9

Break Statement
The break statement is allowed only inside a loop body. When break executes, the loop terminates. If a loop is nested inside other loops, break terminates only the innermost nested loop.

Syntax of Break statement:

while True:
x = get_next()
y = preprocess(x)
if not keep_looking(x, y): break
process(x, y)

The 'break' flow control statement can be understood from the above example.

  • Let us consider the case of an alarm on a mobile ringing at a particular time.
  • Suppose the phone gets an incoming call in the time the alarm is ringing, the alarm is stopped immediately and the phone ringer starts ringing.
  • This is how break essentially works.

Let us now look at a sample program in Python to demonstrate the Break statement.

for letter in 'The Quick Brown Fox. Jumps, Over The Lazy Dog':
if letter == '.':
break
print ('Current Letter :', letter)

This program prints all the letters in a given string. It breaks whenever it encounters a '.' or a full stop. We have done this by using Break statement. The output is as below.

Current Letter : T
Current Letter : h
Current Letter : e
Current Letter : 
Current Letter : Q
Current Letter : u
Current Letter : i
Current Letter : c
Current Letter : k
Current Letter : 
Current Letter : B
Current Letter : r
Current Letter : o
Current Letter : w
Current Letter : n
Current Letter : 
Current Letter : F
Current Letter : o
Current Letter : x

Continue Statement

The continue statement is allowed only inside a loop body. When continue executes, the current iteration of the loop body terminates, and execution continues with the next iteration of the loop.

Syntax of Continue statement:

for x in some_container:
if not seems_ok(x): continue
lowbound, highbound = bounds_to_test()
if x=highbound: continue
if final_check(x):
do_processing(x)

Example: The Continue statement can be understood using incoming call and an alarm.

  • Suppose we are on a call and the alarm is scheduled during the call time, then the alarm trigger recognizes the call event
  • Once the call event is noted, the phone continues the alarm to ring at the next snooze period

Let us now look at a sample program in Python to demonstrate the Continue statement.

for num in range(10, 21):
if num % 5 == 0:
print ("Found a multiple of 5")
pass
num = num + 1
continue
print ("Found number: ", num)

This program prints all the numbers except the multiples of 5 from 10 to 20. The output is as follows.

Found a multiple of 5
Found number: 11
Found number: 12
Found number: 13
Found number: 14
Found a multiple of 5
Found number: 16
Found number: 17
Found number: 18
Found number: 19
Found a multiple of 5

Pass Statement

The pass statement, which performs no action, can be used as a placeholder when a statement is syntactically required but you have nothing specific to do.

Syntax of Pass statement:

if condition1(x):
process1(x)
elif x>23 or condition2(x) and x<5:
pass
elif condition3(x):
process3(x)
else:
process_default(x)

Now let us look at a sample program in Python to demonstrate the Pass statement.

for num in range(10, 21):
if num % 5 == 0:
print ("Found a multiple of 5: ")
pass
num++
print ("Found number: ", num)

This program prints the multiples of 5 with a separate sentence. The output is as follows.

Found a multiple of 5: 10
Found number: 11
Found number: 12
Found number: 13
Found number: 14
Found a multiple of 5: 15
Found number: 16
Found number: 17
Found number: 18
Found number: 19
Found a multiple of 5: 20


After learning the above six flow control statements, let us now learn what functions are.

Functions

Functions in Python programming, is a group of related statements that performs a specific task. Functions make our program more organized and help in code re-usability.

Uses Of Functions:

  1. Functions help in code reusability
  2. Functions provide organization to the code
  3. Functions provide abstraction
  4. Functions help in extensibility


The code used in the above example is as below:

# Defining a function to reverse a string

def reverse_a_string():
# Reading input from console
a_string = input("Enter a string")
new_strings = []

# Storing length of input string
index = len(a_string)

# Reversing the string using while loop
while index:
index -= 1
new_strings.append(a_string[index])

#Printing the reversed string
print(''.join(new_strings))

reverse_a_string()

We have thus shown the power of using functions in Python.

File Handling

File Handling refers to those operations that are used to read or write a file.

To perform file handling, we need to perform these steps:

  1. Open File
  2. Read / Write File
  3. Close File

Opening A File

  • Python has a built-in function open() to open a file
  • This function returns a file object, also called a handle, as it is used to read or modify the file accordingly.

Example program:

file = open("C:/Users/Edureka/Hello.txt", "r")
for line in file:
print (line)

The output is as below:

One
Two
Three

Writing To A File

  • In order to write into a file we need to open it in write 'w', append 'a' or exclusive creation 'x' mode
  • We need to be careful with the 'w' mode as it will overwrite into the file if it already exists. All previous data are erased
  • Writing a string or sequence of bytes (for binary files) is done using write() method

Example program:

with open("C:/Users/Edureka/Writing_Into_File.txt", "w") as f
f.write("First Line\n")
f.write("Second Line\n")

file = open("D:/Writing_Into_File.txt", "r")
for line in file:
print (line)

The output is as below:

First Line
Second Line

Reading From A File

  • To read the content of a file, we must open the file in the reading mode
  • We can use the read(size) method to read in size number of data
  • If size parameter is not specified, it reads and returns up to the end of the file

Example program:

file = open("C:/Users/Edureka/Writing_Into_File.txt", "r")
print(file.read(5))
print(file.read(4))
print(file.read())

The output is as below:

First Line
Second Line

Closing A File

  • When we are done with operations to the file, we need to properly close it.
  • Closing a file will free up the resources that were tied with the file and is done using the close() method.

Example program:

file = open("C:/Users/Edureka/Hello.txt", "r")
text = file.readlines()
print(text)
file.close()

The output is as below:

['One\n', 'Two\n', 'Three']

Object & Class

Python is an object oriented programming language. Object is simply a collection of data (variables) and methods (functions) that act on those data. Class is a blueprint for the object.

Defining A Class

We define a class using the keyword "Class". The first string is called docstring and has a brief description about the class.

class MyNewClass:
'''This is a docstring. I have created a new class'''
pass

Creating An Object

A Class object can be used to create new object instances (instantiation) of that class. The procedure to create an object is similar to a function call.

ob = MyNewClass

We have thus learnt how to create an object from a given class.

So this concludes our Python Programming blog. I hope you enjoyed reading this blog and found it informative. By now, you must have acquired a sound understanding of what Python Programming Language is. Now go ahead and practice all the examples.