Python : Part 1 - Programming (Python 101)
Srinivasulu Paranduru
Posted on February 27, 2024
IDE's used for development : Visual studio code
Extension used in visual studio code :
- Python
- Code Runner
Create a simple python file - helloworld.py and run it using the extension Code Runner and will see more details
print('Hello World!')
To see clear output in visual studio code
Go to Visual studio code -> settings ( follow step 1 and step 2)
Step 1: Unselect the checkbox shown in the below image
Step 2 : Clear the previous outputs in visual studio by
Searching Clear Previous Output in settings and select the option
Step 3: Run the code and see the output is clean and clear
Using IDLE :
Go run and search with IDLE and select IDLE App
Run the below commands in IDLE
2+2
print('Hello world!')
name = 'srinivas'
name = + 'ulu'
New window in IDLE, copy the below mentioned code and save it as Hello.py
Hello.py
print('Hello world!')
print('What is your name?') #ask for name
myName=input()
print('Nice to meet you,' + myName)
print('The length of your name is :')
print(len(myName))
print('What is ur age?')
myAge= input()
print('You will be ' + str(int(myAge)+1) + ' in a year.')
Table 1.1 - Comparison Operators
Operator | Meaning |
---|---|
== | Equal to |
!= | Not Equal to |
< | Less than |
> | Greater than |
<= | Less than or equal to |
>= | Greater than or equal to |
Try the below statements in IDLE
42 == 42
42 == 99
2 != 3
2 != 2
'hello' == 'hello'
'hello' == 'Hello'
42 < 100
Table 1.2 - The and Operator’s Truth Table
Expression | Evaluates to |
---|---|
True and True | True |
True and False | False |
False and True | False |
False and False | False |
Table 1.3 - The or Operator’s Truth Table
Expression | Evaluates to |
---|---|
True or True | True |
True or False | True |
False or True | True |
False and False | False |
Table 1.4 - The not Operator
Unlike and and or, the not operator operates on only one Boolean value (or expression). This makes it a unary operator
Expression | Evaluates to |
---|---|
not True | False |
not False | True |
1.Flow Control Statements
1.1 if Statements : If the statement clause is true then it will execute else it will skip
if.py
name = 'Srini'
if name == 'Srini':
print('Hi, Srini.')
1.2 else statements: If the statement clause is false then else condition will be executed
else.py
name = 'Srini'
if name == 'Srini':
print('Hi, Srini.')
else
print('Hello Stranger')
1.3 elif Statements: You may have a case where you want one of many possible clauses to execute.
elif.py
name = 'Carol'
age = 9999
if name == 'Alice':
print('Hi, Alice.')
elif age < 12:
print('You are not Alice, kiddo.')
elif age > 2000:
print('Unlike you, Alice is not an undead, immortal vampire.')
elif age > 100:
print('You are not Alice, grannie.')
2. Visualisation: If we wanted to see the visualisation of your program then render the url -https://pythontutor.com/
copy the code in the editor and click on visualise execution
By clicking on Next, we can see the result
3. While loop:
- When the execution reaches the end of a "while" statement's block, it jumps back to the start to re-check the condition.
- You can press ctrl-c to interrupt an infinite loop.
- A "break" statement causes the execution to immediately leave the loop, without re-check the condition.
- A "continue" statement causes the execution to immediate jump back to the start of the loop and re-check the condition.
3.1 Simple while loop program - while1.py
name = ''
while name != 'Srinivas' :
print('Enter your name:')
name = input()
print('thank you!')
3.3 While with infinite looping - while_Infinite_Loop.py
while True :
print('How are you doing buddy')
Note : To break the infinite loop, press Ctrl+C to come out of the loop
3.3 While loop using break - While_break.py
name = ''
while True :
print('Enter your name:')
name = input()
if name == 'srinivas' :
break
print('Thank you!')
Output:
3.4 While loop with continue - While_Continue.py
count = 0
while count < 5 :
count = count + 1
if count == 2 :
continue
print(' count is ' + str(count))
Output:
4. for loop :
- "for" loop will loop a specific number of times.
- The range() function can be called with one, two, or three arguments.
- The break and continue statements can be used in for loops just like they're used in while loops.
Using range function in for loop
range(param1,param2,param3)
param1 : start index
param2 : end index
param3 : can be used as increment / decrement the range
4.1 forloop.py
print('My name is')
for i in range(5):
print('Srinivas Five Times ' + str(i))
Output of the above program :
My name is
Srinivas Five Times 0
Srinivas Five Times 1
Srinivas Five Times 2
Srinivas Five Times 3
Srinivas Five Times 4
4.2 For loop with ranges with single parameter- forloop1.py
total =0
for num in range(101):
total = total + num
print(total)
Output of the above program :
5050
4.3 For loop with ranges with double parameter- forloop2.py
print('My name is')
for i in range(5,8):
print('Srinivas Five Times ' + str(i))
Output of the above program :
My name is
Srinivas Five Times 5
Srinivas Five Times 6
Srinivas Five Times 7
4.3 For loop with ranges with triple parameter with incrementing by 1(third parameter) - forloop3.py
print('My name is')
for i in range(0,10,1):
print('Srinivas Five Times ' + str(i))
Output of the above program :
My name is
Srinivas Five Times 0
Srinivas Five Times 1
Srinivas Five Times 2
Srinivas Five Times 3
Srinivas Five Times 4
Srinivas Five Times 5
Srinivas Five Times 6
Srinivas Five Times 7
Srinivas Five Times 8
Srinivas Five Times 9
4.4 For loop with ranges with triple parameter with decrementing by 1(third parameter) - forloop4.py
print('My name is')
for i in range(5,-1,-1):
print('Srinivas Five Times ' + str(i))
Output of the above program :
My name is
Srinivas Five Times 5
Srinivas Five Times 4
Srinivas Five Times 3
Srinivas Five Times 2
Srinivas Five Times 1
Srinivas Five Times 0
5.Python Builtin Functions:
5.1 Built in functions:
- print()
- len()
- input()
5.1.1 Import the modules
5.2.1 Import single library
import random
random.randint(1,10)
Note: Try the above command in IDLE shell, we will keep getting random numbers.
5.1.2 Import multiple libraries
import random,sys,os,math
from random import * # this is alternative to import statement
randint(1,10)
Note : No need to call random.randint(1,10) in the above scenario
5.1.3 sys.exit()
import sys
print('Hello')
sys.exit()
print('Good bye')
Output is
Hello
5.1.4 Third party modules : We can install the third party modules using pip program and which also comes with python
- The pyperclip third-party module has copy() and paste() functions for reading and writing text to the clipboard. Reference :https://automatetheboringstuff.com/appendixa/ Go go ahead and install The pyperclip Module
import pyperclip
pyperclip.copy('Hello World!')
pyperclip.paste()
Output of the above program is
Hello World!
5.2.Write your own functions:
Example 1 : function1.py
def hello() :
print('Ireland')
print('UK')
print('Chennai')
hello()
hello()
hello()
Output of the above program is
Ireland
UK
Chennai
Ireland
UK
Chennai
Ireland
UK
Chennai
Note : Copy the above code and try in https://pythontutor.com/
5.2.1 Try to add arguments to the functions
def hello(name) :
print('Hello ' +name)
hello('Srini')
hello('Bob')
5.2.2 Return from function
Try the below items in IDLE shell
print('Hello')
print('World')print('Hello', end='')
print('world')
print('cat','dog','mouse')
cat dog mouseprint('cat','dog','mouse',sep='$$')
cat$$dog$$mouse
6.Global and local scope variables
- The global scope is code outside of all functions. Variables assigned here are global variables.
- Each function's code is in its own local scope. Variables assigned here are local variables.
- Code in the global scope cannot use any local variables.
- If there's an assignment statement for a variable in a function, that is a local variable. The exception is if there's a global statement for that variable; then it's a global variable.
6.1 Example 1
spam =42 # global variable
def sum():
spam = 42 # local variables
print('Some code here')
print('Some code here')
6.2 Example 2
def spam():
egg = 99
bacon()
print(eggs)
def bacon():
ham = 101
eggs = 0
spam()
6.3 Example 3
def spam():
global eggs # to use the variable as global
eggs = 'Hello'
print(eggs)
eggs =42
spam()
print(eggs)
7.Exception Handling:
7.1 Example1 : exception.py
def div64by(divideBy):
return 64 / divideBy
print(div64by(2))
print(div64by(8))
print(div64by(0))
print(div64by(1))
Code fails in printing the function 3 with division by 0 error
- Exceptions can be handled using try and except statements
7.1.1 Modify the above code
def div64by(divideBy):
try:
return 64 / divideBy
except ZeroDivisionError :
print('Error:You tired to divide by zero.')
print(div64by(2))
print(div64by(8))
print(div64by(0))
print(div64by(1))
Output of the above program is
32.0
4.0
Error:You tired to divide by Zero
None
64.0
7.2 Example 2
- Try the birds count as integer and check the output
- Then try with string as input, it will fail then handle it using try and except
print('How many birds do you have?')
numbirds = input()
if int(numbirds) >= 4 :
print('That is a lot of birds')
else:
print('That is not that many birds')
print('How many birds do you have?')
numbirds = input()
try:
if int(numbirds) >= 4 :
print('That is a lot of birds')
else:
print('That is not that many birds')
except ValueError:
print ('You did not enter a number.')
- A divide-by-zero error happens when Python divides a number by zero.
- Errors cause the program to crash.
- An error that happens inside a try block will cause code in the except block to execute. That code can handle the error or display a message to the user so that the program can keep going.
8. Lists: (using IDLE shell for below demos)
8.1 Simple List
#1. Try the commands in the IDLE Shell
['cat','bat','rat','elephant']
#2. Commands in IDLE Shell
info = ['cat','bat','rat','elephant']
info
# To Access values in a list, use indexes
#3. Try the commands in IDLE Shell
info[0]
info[1]
info[2]
8.2 Lists of Lists
spam = [ ['cat','bat'],[10,20,30,40]]
spam[0]
['cat','bat']
spam[1]
[10,20,30,40]
spam[0][0]
spam[0][1]
spam[1][0]
spam[1][1]
spam[1][2]
# Try all the above commands in python visualise
8.3 Negative Indexes
- -1 => Refers to last Index
- -2 => Refers to last but one Index
info = ['cat','bat','rat','elephant']
info[-1]
'elephant'
info[-2]
'rat'
8.4 Try with string concatenation with lists
'The' + info[-1] + ' is afraid of the ' + info[-3] +'.'
Output is
'The elephant is afraid of the bat.'
Index is single Value
Slice is list of values
info[1:3]
['bat','rat']
8.5 Changing a List's item
info = 'Hi Dude !'
info # 'Hi Dude !'
info =[10,20,30]
info[1] =['Cat','Dog','Mouse']
info # [10,'Cat','Dog','Mouse']
8.6 Slice Shortcuts
info=['cat','bat','rat','elephant']
info[:2] # When the start index is empty , it will treat as 0
# output is ['cat','bat']
info[1:] # When the end index is empty, it count till the end
8.7 Delete a item from a list using del statements
del statement is a unassigned statement
del info[2]
info
# output is ['cat','bat','elephant']
del info[2]
info
# output is ['cat','bat']
8.8 String and list similarities
len('Hello')
# output - 5
len([1,2,3])
# output - 3
'Hello ' +'world'
# output - Hello world
[1,2,3] + [4,5,6]
#output - [1,2,3,4,5,6]
# string replication
'Hello'*3
#list replication
[1,2,3] * 3 # ouput : [1,2,3,1,2,3,1,2,3]
list('hello') # ['H','e','l','l','o']
# in and out operators
'howdy' in [ 'hello','hi','howdy','heyas'] # output - True
'howdy' not in [ 'hello','hi','howdy','heyas'] # output - False
8.9 For loops with lists:
#1
for i in range(4):
print(i)
#2
range(4)
range(0,4)
#output- [0,1,2,3]
#3
for i in [0,1,2,3]:
print(i)
#ouput
0
1
2
3
#4
list(range(4))
# output : [0,1,2,3]
#5
list(range(0,10,2))
# output : [0,2,4,6,8,10]
# for i in range(len(somelist)) :
#6
supplies = ['pens','staplers','pins','books']
for i in range(len(supplies)):
print('Index ' +str(i) +' in supplies is: ' + supplies[i])
Index 0 in supplies is pens
Index 1 in supplies is staplers
Index 2 in supplies is pins
Index 3 in supplies is books
8.10. Multiple Assignments in lists:
#1
info = ['fat','orange','loud']
size = info[0]
color = info[1]
di = info[2]
Muliple variable assignments
size,color,di = cat
#0 index maps to first variables, 1 index maps to second variables and etc.,
size # 'fat'
di # 'loud'
*# n to n variables assignment *
size,color,di = 'skinny','blue','noisy'
a= 'AAA'
b='BBB'
#if you wanted to swap variables
a,b= b,a
8.11 Augmented operators
Augmented Assignment Statement | Equivalent Statement |
---|---|
info+=1 | info =info+1 |
info-=1 | info =info-1 |
info*=1 | info =info*1 |
info/=1 | info =info/1 |
info%=1 | info =info%1 |
8.12 List Methods
- index()
- append()
- insert()
- remove()
- sort()
8.12.1. index()
spam = ['hello','hi','howdy','heyas']
spam.index('hello')
#output : 0
spam.index('howdy')
#output : 2
#if the list is having duplicate values
spam = ['hello','hi','howdy','howdy']
spam.index('howdy')
#ouput : 2 # it will return the first index
*8.12.2. append(),insert(),remove(),sort() *
#append() method
spam = ['cat','dog','bat']
spam.append('rat')
['cat','dog','bat','rat']
#insert() method
spam = ['cat','dog','bat']
spam.insert(1,'rat')
['cat','rat','dog','bat']
#Try with strings
info= 'hello'
info.append(' world')
#remove() method
info = ['cat','dog','bat']
info.remove('bat')
info
['cat','dog']
#delete using del
del info[0]
info
['dog']
# if the list having duplicate values
info = ['cat','dog','bat','cat','dog','bat']
info.remove('cat')
info
#output :
['dog','bat','cat','dog','bat']
#sort() method
#1
spam = [1,2,3.14.5,-7]
spam.sort()
spam
#ouput - [-7,1,2,3.14,5]
#2
spam = ['ants','badgers','cat','dogs']
spam.sort()
spam
#3
spam.sort(reverse=True)
spam
#4
spam = [2,3,4,'dogs','cats']
spam.sort()
#output : It will fail - unordertable types - str and int
#5
spam = ['Alice','Bob','apple','carol']
spam.sort()
References :
www.python.org
https://pythontutor.com/
https://docs.python.org/3/tutorial/
Conclusion : Discussed about basics of python with samples and dicussed visual studio code edito and extension in visual studio and IDLE shell command for running the python code
💬 If you enjoyed reading this blog post and found it informative, please take a moment to share your thoughts by leaving a review and liking it 😀 and share this blog with ur friends and follow me in linkedin
Posted on February 27, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.