Table of contents
Basics of Python
Python Environment Setup
We need Python 3.7 or later installed to access a shell. Python installers can be downloaded from website https://www.python.org/downloads/ or you can install using apt, rpm , chocolatey etc.
We can install Python 3.7 on Linux as below.
apt-get update
apt-get install python3 python3-pip software-properties-common
add-apt-repository ppa:deadsnakes/ppa
apt-get install python3.7
#Check python version
python3 --version
Python Script
Python code runs from a file with .py
extension.
#This is my first python script
print('Hello World!')
#Save this script as file Hello.py
#To run a script
python Hello.py
Programming in Python
Variable
Variable is name that points to some value.
#We can declare variable
#an integer variable
age=35
print(age)
#floating point variable
salary=1500.23
#string variable
name="John"
print(name)
A Python variable name must start with a letter or the underscore character.
A Python variable name cannot start with a number.
A Python variable name can only contain alpha-numeric characters and underscores (A-z, 0-9, and _ ).
Variable in Python names are case-sensitive (name, Name, and NAME are three different variables).
Data types
Numeric
Numeric data type is a numeric value.
int
- Signed integers of non-limited length
float
- floating decimal points
complex
- complex numbers
#Numeric types
#an integer type
num=35
print(age)
#floating point type
num1=3.5
print(num1)
#complex type
num3=1+3a
print(num3)
string
String is sequence of characters represented either by single quote or double quote.
#string type
name="Learn python for DevOps"
print(name)
Sequence types
list
- It is ordered collection of similar or different types of items separated by comma and enclosed in []
brackets.
tuple
- tuples are ordered items same as list but tuples are immutable , we cannot modify once declared. We use ()
to store tuple items.
#create list
subjects=["Maths","Science","History"]
#access list items
print(subjects[0])
print(subjects[1])
#create tuple
cities=("Pune","Delhi","Bangalore")
#access tuple items
print(cities[0])
print(cities[1])
Dictionary
Its an ordered collection of key-value pairs. Keys are unique identifiers for each value.
#create dictionary
capitalcities={'Nepal':'kathmandu' ,'Russia':'Moscow' ,'Germany':'Berlin' }
#access dict items
print(capitalcities['Nepal'])
Boolean
It is either True
or False
print(type(True))
print(type(False))
Set
It is unordered collection of unique items separated by comma ,
and enclosed in curly {}
brackets.
#Create set
producid={10,20,30,40,50,60}
#display all items
print(productid)
#access set items
for p in productid
print(p ,end=" ")
Conditionals
These are used for decision making and code branching. We can group statements as block of code which we want to run together.
if-else
A block after if
statement runs if if
statement evaluates to true otherwise it runs elif
or else
statements.
i=35
if i==45:
print(i is '45')
elif i==35:
print(i is '35')
else
print('I am not in if')
match-case
Match statement is initialized with match and a parameter. Then it step down into cases.
city='Pune'
match city:
case 'Pune':
print('current city is Pune')
case 'Delhi':
print('current city is Delhi')
Loops
for loop
for loops allow you to repeat a block of statements (a code block) once for each member of a sequence (ordered group of items). As you iterate through the sequence, the current item can be accessed by the code block
for i in range(10):
x = i*2
print(x)
while loop
while loops repeat a block as long as a condition evaluates to True.
count=0
while count < 3:
print('count is {count}')
count += 1
Loop control statements
break
Break statement is used to break loop.
s='hashnodeblog'
for ch i s:
print(ch)
if ch == 'e':
break
print('out of for loop')
continue
It forces to execute next interation of loop.
for i in range(1,11):
if i == 6:
continue
else
print(i, end=" ")
Functions
function is a mechanism for encapsulating a block of code. You can repeat the behavior of this block in multiple spots without having to duplicate the code. The first line of a function definition starts with the keyword def
, followed by the function name, function parameters enclosed in parentheses, and then :
. The rest of the function is a code block and is indented.
def positioned(first,second):
print('first {first}')
print('second {second}')
positioned(1,2)
Local and global variable
Local variables in Python are those which are initialized inside a function and belong only to that particular function. It cannot be accessed anywhere outside the function
def f():
# local variable
s = "I love Hashnode"
print(s)
# Driver code
f()
Global variable
These are those which are defined outside any function and which are accessible throughout the program, i.e., inside and outside of every function.
# This function uses global variable
def f():
print('Inside Function', s)
# Global scope
s = 'I love Hashnode'
f()
print('Outside Function', s)
Import modules
We can import the definitions inside a module to another module or the interactive interpreter in Python.
We use the import
keyword to do this. To import our previously defined module math
, we type the following in the Python prompt.
#Import module
import math
#we can import specific names from module
from math import pi
print(pi)
#import all names
from math import *
Modules for DevOps
os
: OS module provides a portable way of using operating system dependent functionality. In addition, it allows us to interact with the underlying operating system in different ways to automate tasks
subprocess
: to run the external program and read their output in Python code.
sys
: to manipulate different parts of the Python runtime environment or want to work with a command-line argument passed to your python script.
re
: used for pattern matching.
platform
: Platform module is used to access underlying platform data such as operating system, interpreter version information, and hardware.
GetPass/GetUser
: to prompt the user for the password without echoing it
paramiko
: to execute a command to the remote system, download or upload the file without login.
boto3
: Boto3 is the Amazon Web Services (AWS) SDK for Python. It enables Python developers to create, configure, and manage AWS services, such as EC2 and S3.
pygithub
: for frequent tasks like creating, deleting, or listing GitHub repo.
request, beautifulsoup4 and smtplib
:
Request: Request is used to make a request to an HTTP endpoint.
BeautifulSoup4: is used to parse HTML or XML document.
Smtplib: Is used for sending and receiving email using Simple Mail Transfer Protocol(SMTP)
json
: The json library is invaluable for working with JSON data, which is commonly used for configuration and data exchange in DevOps.
yaml
: The yaml library allows you to work with YAML data, another popular format in the DevOps world for configuration files.
Regu
lar expressions
Regular expressions use a string of characters to define search patterns. Python has a module named re
to work with RegEx.
Read more details using below link
https://docs.python.org/3/howto/regex.html
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
Exception handling
Exceptions are a type of error causing your program to crash if not handled (caught). Catching them with a try-except block allows the program to continue. These blocks are created by indenting the block in which the exception might be raised, putting a try statement before it and an except statement after it, followed by a code block that should run when the error occurs.
thinkers = ['Plato', 'PlayDo', 'Gumby']
while True:
try:
thinker = thinkers.pop()
print(thinker)
except IndexError as e:
print("We tried to pop too many thinkers")
print(e)
finally :
print("This is always executed")
break