0% found this document useful (0 votes)
122 views

Introduction To Python: BY KHAWAR BUTT (CCIE X 7#12353 & CCDE#20110020)

This document provides an introduction to the Python programming language. It covers topics such as the Python interpreter, Python IDEs, interactive Python for basic math and string operations, variables and operators, conditional statements, loops, and basic network functions. The document is intended to teach Python fundamentals through examples in an interactive Python session.

Uploaded by

İlker Mansur
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
122 views

Introduction To Python: BY KHAWAR BUTT (CCIE X 7#12353 & CCDE#20110020)

This document provides an introduction to the Python programming language. It covers topics such as the Python interpreter, Python IDEs, interactive Python for basic math and string operations, variables and operators, conditional statements, loops, and basic network functions. The document is intended to teach Python fundamentals through examples in an interactive Python session.

Uploaded by

İlker Mansur
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 44

INTRODUCTION TO PYTHON

BY KHAWAR BUTT [CCIE X 7#12353 & CCDE#20110020]


[R/S, SECURITY, SP, VOICE, STORAGE NETWORKING, DATA
CENTER, WIRELESS]
INTRODUCTION TO PYTHON
• PYTHON INTERPRETER

• PYTHON INTEGRATED DEVELOPMENT ENVIRONMENT (IDE)

• INTERACTIVE PYTHON

• VARIABLES & OPERATORS

• CONDITIONAL STATEMENTS

• WHILE LOOPS

• FOR LOOPS

• NETWORK FUNCTIONS
PYTHON INTERPRETER

• ALLOWS YOU TO ISSUE PYTHON COMMANDS INTERACTIVELY

• YOU CAN DOWNLOAD IT FROM HTTPS://WWW.PYTHON.ORG/DOWNLOADS

• NORMAL INSTALLATION PROCEDURE

• INVOKE THE PYTHON APP OR USE IDLE


PYTHON IDE
 PROVIDES A FULL-BLOWN ENVIRONMENT FOR DEVELOPMENT
 FEATURES INCLUDE:
 SYNTAX HIGHLIGHTING
 CODE EDITOR WITH AUTOMATIC CODE FORMATTING
 DEBUGGING CAPABILITIES
 TERMINAL FOR INTERACTIVE PYTHON COMMAND EXECUTION
 SAVING AND LOADING OF PYTHON SCRIPTS / APPLICATION
 BUILT-IN LIBRARIES
 POPULAR IDE’S INCLUDE PYCHARM, VISUAL STUDIO, SPYDER, PYDEV ETC.
INTERACTIVE PYTHON – BASIC MATH
 ADDITION
2 + 5
OUTPUT=7

 SUBTRACTION
99 – 55
OUTPUT=44

 MULTIPLICATION
109 * 55
OUTPUT=5995
INTERACTIVE PYTHON – BASIC MATH
 DIVISION - FLOAT

24 / 6

OUTPUT=4.0

24 / 5

OUTPUT=4.8

 DIVISION - INTEGER

24 // 6

OUTPUT=4

24 // 5

OUTPUT=4
INTERACTIVE PYTHON – BASIC MATH
 COMBINING OPERATIONS
10 - 9 + 7
OUTPUT=8
9 + 7 * 10
OUTPUT=79
(9 + 7) * 10
OUTPUT=160
INTERACTIVE PYTHON – STRINGS

 USING SINGLE OR DOUBLE QUOTES


'KBITS’
OUTPUT=‘KBITS’
"KBITS“
OUTPUT=‘KBITS’
INTERACTIVE PYTHON – STRINGS

 USING BUILT-IN PRINT FUNCTION – SIMPLE

PRINT ('KBITS’)
OUTPUT=KBITS
PRINT ("KHAWAR'S CLASSES")
OUTPUT=KHAWAR’S CLASSES
INTERACTIVE PYTHON – STRINGS

 USING BUILT-IN PRINT FUNCTION – SPECIAL CHARACTERS

SPECIAL CHARACTER – “\”


PRINT ('KHAWAR\'S "CLASSES“’)
OUTPUT=KHAWAR’S “CLASSES”
INTERACTIVE PYTHON – STRINGS
 USING BUILT-IN PRINT FUNCTION – SPECIAL CHARACTERS

SPECIAL CHARACTER – “\N”


PRINT ("KHAWAR’S CURRENT CLASSES\NSECURITY \NEI \NPYTHON”)
OUTPUT=KHAWAR’S CURRENT CLASSES
SECURITY
EI
PYTHON
INTERACTIVE PYTHON – STRINGS
 USING BUILT-IN PRINT FUNCTION – ADDITIONAL FUNCTIONALITIES

USING THE RAW OPTION ("R")


PRINT (R'KBITS.LIVE\NEWCLASSES’)
OUTPUT=KBITS.LIVE\NEWCLASSES
MULTIPLYING STRINGS
PRINT (5 * 'KBITS ')
OUTPUT=KBITS KBITS KBITS KBITS KBITS
INTERACTIVE PYTHON – VARIABLES

 ALLOWS US TO USE A CONTAINER TO HOLD VALUES THAT CAN BE REUSED


 THE CONTAINER IS ASSIGNED A MEMORY LOCATION BY THE INTERPRETER
 VARIABLES CAN BE OF DIFFERENT TYPES:
 INTEGERS
 FLOAT (DECIMALS)
 STRINGS
 THE TYPE IS AUTO-DETECTED AT THE TIME YOU INITIALIZE THE VARIABLE
INTERACTIVE PYTHON – VARIABLES
 INTEGER VARIABLE

DEFINING/INITIALIZING AN INTEGER VARIABLE – SIMPLE


X=2
Y=5
DEFINING/INITIALIZING AN INTEGER VARIABLE – USING AN OPERATION
Z=2 + X * Y
INTERACTIVE PYTHON – VARIABLES
 INTEGER VARIABLE

DISPLAYING THE INTEGER VARIABLE VALUE


PRINT (X)
OUTPUT=2
PRINT (Y)
OUTPUT=5
PRINT (Z)
OUTPUT=12
INTERACTIVE PYTHON – VARIABLES
 FLOAT (DECIMAL) VARIABLE

DEFINING/INITIALIZING A FLOAT VARIABLE – SIMPLE


A=1.5
B=10.0
DEFINING/INITIALIZING A FLOAT VARIABLE – USING AN OPERATION
C=2 * A + B
INTERACTIVE PYTHON – VARIABLES
 FLOAT (DECIMAL) VARIABLE

DISPLAYING THE FLOAT VARIABLE VALUE


PRINT (A)
OUTPUT=1.5
PRINT (B)
OUTPUT=10.0
PRINT (C)
OUTPUT=13.0
INTERACTIVE PYTHON – VARIABLES
 STRING VARIABLE

DEFINING/INITIALIZING A STRING VARIABLE – SIMPLE


C_NAME='KBITS’

DEFINING/INITIALIZING A FLOAT VARIABLE – USING AN OPERATION


WEBSITE=C_NAME + '.LIVE'
INTERACTIVE PYTHON – VARIABLES
 STRING VARIABLE

DISPLAYING THE STRING VARIABLE VALUE


PRINT (C_NAME)
OUTPUT=KBITS
PRINT (WEBSITE)
OUTPUT=KBITS.LIVE
INTERACTIVE PYTHON – VARIABLES
 STRING VARIABLE

RETRIEVING CHARACTERS FROM A STRING


PRINT (WEBSITE[0]) – RETRIEVES THE 1 ST CHARACTER
OUTPUT=K
PRINT (WEBSITE[5]) – RETRIEVES THE 6 TH CHARACTER
OUTPUT=.
PRINT (WEBSITE[0:5]) – RETRIEVES STARTING FROM THE 1 ST TO 5TH CHARACTER
OUTPUT=KBITS
INTERACTIVE PYTHON – VARIABLES
 STRING VARIABLE

RETRIEVING CHARACTERS FROM A STRING


PRINT (WEBSITE[6:]) – RETRIEVES STARTING FROM THE 6 TH CHARACTER TO END
OUTPUT=LIVE
PRINT (WEBSITE[:5]) – RETRIEVES ALL CHARACTERS TILL THE 6 TH CHARACTER
OUTPUT=KBITS
PRINT (WEBSITE[:5] + ' ' + WEBSITE[6:])
OUTPUT=KBITS LIVE
INTERACTIVE PYTHON – OPERATORS
 COMPARISON OPERATORS

“ > “ – GREATER THAN OPERATOR


RETURNS A TRUE OR FALSE ON AN OPERATION
X=5
Y=10
X > Y
OUTPUT=FALSE
INTERACTIVE PYTHON – OPERATORS
 COMPARISON OPERATORS

“ < “ – LESS THAN OPERATOR


RETURNS A TRUE OR FALSE ON AN OPERATION
X=5
Y=10
X < Y
OUTPUT=TRUE
INTERACTIVE PYTHON – OPERATORS
 COMPARISON OPERATORS

“ >= “ – GREATER THAN OR EQUAL TO OPERATOR

RETURNS A TRUE OR FALSE ON AN OPERATION

X=5

Y=5

X > Y

OUTPUT=FALSE

X >= Y

OUTPUT=TRUE
INTERACTIVE PYTHON – OPERATORS
 COMPARISON OPERATORS

“ <= “ – LESS THAN OR EQUAL TO OPERATOR

RETURNS A TRUE OR FALSE ON AN OPERATION

X=5

Y=5

X < Y

OUTPUT=FALSE

X <= Y

OUTPUT=TRUE
INTERACTIVE PYTHON – OPERATORS
 COMPARISON OPERATORS

“ == “ – CHECKS TO SEE IF THE 2 VALUES ARE EQUAL


RETURNS A TRUE OR FALSE ON AN OPERATION
X=5
Y=5
X == Y
OUTPUT=TRUE
INTERACTIVE PYTHON – OPERATORS
 COMPARISON OPERATORS

“ != “ – CHECKS TO SEE IF THE 2 VALUES ARE NOT-EQUAL


RETURNS A TRUE OR FALSE ON AN OPERATION
X=5
Y=6
X != Y
OUTPUT=TRUE
INTERACTIVE PYTHON – OPERATORS
 LOGICAL OPERATORS

“ AND “ – BOTH CONDITIONS NEED TO BE TRUE TO GET TRUE RESULT


RETURNS A TRUE OR FALSE ON AN OPERATION
X=5
Y=10
X < 20 AND Y > 2
OUTPUT=TRUE
INTERACTIVE PYTHON – OPERATORS
 LOGICAL OPERATORS

“ OR “ – EITHER ONE CONDITIONS NEEDS TO BE TRUE TO GET TRUE RESULT

RETURNS A TRUE OR FALSE ON AN OPERATION

X=5

Y=10

X < 20 AND Y > 20

OUTPUT=FALSE

X < 20 OR Y > 20

OUTPUT=TRUE
CONDITIONAL STATEMENTS

 CONDITIONAL STATEMENTS ALLOWS A PYTHON SCRIPT TO EXECUTE COMMAND BASED


ON A CONDITION BEING TRUE OR FALSE

 ALL THE STATEMENTS THAT NEED TO BE EXECUTED NEED TO BE INDENTED PROPERLY

 YOU COULD ALSO USE THE “ELSE” STATEMENT TO SPECIFY THE COMMANDS TO BE
EXECUTED IN CASE THE CONDITIONAL IS FALSE.

 YOU COULD ALSO USE THE “ELIF” STATEMENT TO HAVE THE SCRIPT CHECK
SUBSEQUENT CONDITIONS IF THE PREVIOUS CONDITION IS FALSE.
IF STATEMENT
 EXAMPLE # 1 – CHECKING FOR ODD AND EVEN
X=4
Y=X % 2
IF Y == 0:
PRINT('X IS AN EVEN NUMBER ')
IF Y != 0:
PRINT('Y IS AN ODD NUMBER')
PRINT (‘\NTHANKS FOR USING THE PROGRAM’)
OUTPUT=X IS AN EVEN NUMBER
THANKS FOR USING THE PROGRAM
ELSE STATEMENT
 EXAMPLE # 2 – CHECKING FOR ODD AND EVEN
X=5
Y=X % 2
IF Y == 0:
PRINT('X IS AN EVEN NUMBER ')
ELSE:
PRINT('X IS AN ODD NUMBER ')
PRINT ('THANKS FOR USING THE PROGRAM’)
OUTPUT=X IS AN ODD NUMBER
THANKS FOR USING THE PROGRAM
ELIF STATEMENT
 EXAMPLE # 3 – PRINTING NUMBER NAMES
X=3
IF X == 0:
PRINT(‘NUMBER IS ZERO‘)
ELIF X == 1:
PRINT(‘NUMBER IS ONE‘)
ELIF X == 2:
PRINT('NUMBER IS TWO’)
ELIF X == 3:
PRINT('NUMBER IS THREE')
ELIF X == 4:
PRINT('NUMBER IS FOUR’)
ELSE:
PRINT(‘THE NUMBER IS GREATER THAN 4’)
PRINT (‘THANKS FOR USING THE PROGRAM’)
OUTPUT= NUMBER IS THREE
THANKS FOR USING THE PROGRAM
LOOPS

 LOOPS ALL YOU THE ABILITY TO EXECUTE A SET OF STATEMENTS AS LONG AS A


CONDITION IS TRUE

 LOOPS ALSO ALLOW YOU THE ABILITY TO NEST LOOPS


WHILE LOOP
EXAMPLE # 2
 EXAMPLE # 1
COUNTO = 1
COUNTI = 50
COUNTER = 1 WHILE COUNTO <= 3:
WHILE COUNTER <= 3: PRINT(COUNTO, END='')
PRINT(COUNTER,END='') PRINT(' ( ',END='')
PRINT(' ',END='') WHILE COUNTI >0:
PRINT(COUNTI, END='')
COUNTER += 1
PRINT(' ', END='')
COUNTI -=10
PRINT (')')
OUTPUT= COUNTO += 1
1 2 3 COUNTI = 50

OUTPUT=
1 ( 50 40 30 20 10 )
2 ( 50 40 30 20 10 )
3 ( 50 40 30 20 10 )
FOR LOOPS
 EXAMPLE # 1  EXAMPLE # 2

NAME = 'KHAWAR' PROTOCOLS = ["EIGRP", "IGRP", "OSPF", "IS-IS", "RIP"]


ADMIN_DISTANCE = ['90', '100', '110','115','120']
FOR X IN NAME: COUNT=0
PRINT(X) FOR X IN PROTOCOLS:
PRINT('ADMIN DISTANCE FOR ' + X + ' \TIS\T’ + ADMIN_DISTANCE[COUNT])
OUTPUT= COUNT +=1
K
H OUTPUT=
A ADMIN DISTANCE FOR EIGRP IS 90
W ADMIN DISTANCE FOR IGRP IS 100
A ADMIN DISTANCE FOR OSPF IS 110
R ADMIN DISTANCE FOR IS-IS IS 115
ADMIN DISTANCE FOR RIP IS 120
NETWORK FUNCTIONS
 INPUT FUNCTION
INTERFACE = INPUT('WHAT INTERFACE WOULD YOU LIKE TO CONFIGURE : ‘)
PROMPTS FOR INPUT STORE THE VALUE IN A STRING VARIABLE CALLED INTERFACE

 TELNET FUNCTION
FROM TELNETLIB IMPORT TELNET
ABC = TELNET('172.25.1.1’)
ABC IS A VARIABLE. IT WILL REFERENCE THE TELNET CONNECTION

 GETPASS FUNCTION
IMPORT GETPASS
PASS = GETPASS.GETPASS()
GETPASS WILL PROMPT THE USER FOR PASSWORD AND STORE THE INPUT IN THE PASS VARIABLE
NETWORK FUNCTIONS
 CONNECTHANDLER FUNCTION
FROM NETMIKO IMPORT CONNECTHANDLER
ABC = {
'DEVICE_TYPE': 'CISCO_IOS',
'HOST': '172.25.1.1',
'USERNAME': 'KHAWAR',
'PASSWORD': 'CISCO',
'PORT' : 22, # OPTIONAL, DEFAULTS TO 22
'SECRET': 'CISCO', # OPTIONAL, DEFAULTS TO ‘’
}
MYSSH = CONNECTHANDLER(**ABC)
MYSSH IS A VARIABLE. IT WILL REFERENCE THE SSH CONNECTION. CONNECTHANDLER REFERENCE THE PARAMETERS IN THE ABC
VARIABLE.
NETWORK FUNCTIONS

 CONFIGURING A ROUTER USING A SINGLE COMMAND

HOSTNAME = MYSSH.SEND_COMMAND('SHOW RUN | I HOST’)

SENDS THE COMMAND TO THE ROUTER OVER THE SSH CONNECTION


NETWORK FUNCTIONS
 CONFIGURING A ROUTER THRU SSH USING VARIABLE

CONFIG_COMMANDS = [ 'BANNER MOTD #AUTHORIZED KBITS.LIVE USERS ONLY#',


'LINE CON 0',
' LOGG SYNC'
]
MYSSH.SEND_CONFIG_SET(CONFIG_COMMANDS)
OUTPUT = MYSSH.SEND_COMMAND('SHOW RUNN | INC BANNER’)

MYSSH IS THE SSH CONNECTION. CONFIG_COMMANDS IS A LIST VARIABLE.


MYSSH_CONFIG_SET SENDS ALL COMMANDS IN A LIST VARIABLE TO GLOBAL CONFIG.
MYSSH.SEND_COMMAND SENDS A SINGLE COMMAND TO THE PRIVILEGE EXEC MODE
NETWORK FUNCTIONS

 CONFIGURING A ROUTER THRU SSH USING CONFIGURATION FILE

HOSTNAME = MYSSH.SEND_COMMAND('SHOW RUN | I HOST')


X = HOSTNAME.SPLIT()
DEVICENAME = X[1]
CMDFILE=DEVICENAME + ".TXT"
MYSSH.SEND_CONFIG_FROM_FILE(CMDFILE)

SEND_CONFIG_FROM_FILE WILL SEND THE CONTENTS OF THE FILENAME STORED IN THE CMDFILE VARIABLE.
THE CMDFILE VARIABLE IS CREATED BY DERIVING THE HOSTNAME AND CONCATENATING IT WITH .TXT.
NETWORK FUNCTIONS
 READING FROM FILES
FROM NETMIKO IMPORT CONNECTHANDLER
WITH OPEN('DEVICES.TXT') AS XYZ:
FOR IP IN XYZ:
ABC = {
'DEVICE_TYPE': 'CISCO_IOS',
'IP': IP,
'USERNAME': 'KHAWAR',
'PASSWORD': 'CISCO'
}
MYSSH= CONNECTHANDLER(**ABC)
MYSSH.SEND_COMMAND('SH IP INT BRIEF’)

OPENS THE FILE ‘DEVICES.TXT’. READ A SINGLE LINE AND STORES THE CONTENT IN THE VARIABLE CALLED IP.
SSH’S INTO THE IP AND SENDS THE ‘SH IP INT BRIEF’ COMMAND TO IT
NETWORK FUNCTIONS
 SPLIT FUNCTION

HOSTNAME = MYSSH.SEND_COMMAND('SHOW RUN | I HOST')


X=HOSTNAME.SPLIT()
DEVICE = X[1]
FILENAME = DEVICE + '-BACKUP.TXT’

HOSTNAME IS A VARIABLE THAT WILL STORE THE OUTPUT FROM THE SEND_COMMAND.
THE SPLIT FUNCTION WILL BREAK THE HOSTNAME INTO 2 ELEMENTS IN A LIST VARIABLE CALLED X. THE
ELEMENTS ARE CREATED BASED ON THE PRESENCE OF SPACE.
DEVICE WILL STORE THE SECOND ELEMENT IN THE X VARIABLE.
FILENAME IS A STRING VARIABLE COMBINING THE DEVICE VARIABLE WITH THE TEXT ‘-BACKUP.TXT’
NETWORK FUNCTIONS
 WRITING TO A FILE

BBB = MYSSH.SEND_COMMAND('SHOW RUN’)


BBB_FILE = OPEN(‘R1-BACKUP.TXT’, “W")
BBB_FILE.WRITE(BBB)
BBB_FILE.WRITE("\N")
BBB_FILE.CLOSE()

BBB IS A VARIABLE THAT WILL HOLD THE CONTENTS OF THE ‘SHOW RUN’ COMMAND.
THE OPEN FUNCTION OPENS A FILE CALLED FILENAME(‘R1-BACKUP.TXT’) WITH THE ABILITY TO WRITE TO IT.
THE FILE IS CALLED BBB_FILE.
WRITE FUNCTION WRITES THE CONTENTS OF THE BBB VARIABLE TO THE BBB_FILE.

You might also like