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
Top comments (0)