I decided to get familiar with Python so thought I would start sharing my notes. I have done some scripting in the past to help me get things done quicker, eliminate doing the same task multiple times and to manipulate data, most of this was done using Perl (and a few years back when I was focused on NMS/OSS tasks). In the current project i am working on I have been testing applications API and thought instead of just using curl to pull back the JSON/XML output I would go a step further and use Python and then manipulate the data into a desired format. The other desire to get a better understanding is the way the industry (automation, orchestration and SDN) is going and the adoption of Python to achieve many tasks.

To start of with I got familiar with the basics.

Unlike other languages Python requires a structure to be followed, to help me with this (and also save me time) I have been using Sublime Text 2 as my text editor (it has some nice plugins for Cisco Syntax as well).

These are just example of the syntax, if you are new to scripting or programming I would recommend that you either get a book (can be a bit dry), take an on-line course (I have used www.udemy.com and www.codecademy.com/tracks/python but a search will show many exit) or read one of the many tutorials on the Internet.

    # Define a variable
# Define a variable
limit = 10

# Print to screen
print "You can see this on screen"

# Combining variables (basic arithmetic)
total_left = money - (beer + nuts + shots + kebab)

# Combining variable in a print statement
name = "Rob"
age = "33"
print "He is called "+name+", and is "+age+" old"

# if statement syntax
if sport == "rugby":
print "Lets go watch it!"
else:
print "Stay at home!"

# for loop syntax example
for i in range(1,11):
print i

for i in range(1,11):
for j in range(1,11):
print "i=",i,". j=",j

# while loop syntax example(s)
limit = 10
while limit == 10:
print limit
limit = 1

number = 1
while number &lt; 10:
print number
number = number + 1

# Capture data from a user

# Type Conversion (string &amp; integer)
age = int(age)

#convert integer to string
# number = str(number)

# Can also use float() rather than int()

# Mathematical Options
# - subtracting
# * multiply
# / division
# % modulo

# Else if syntax example

score = raw_input("cc?")

if score == "5":
print "What no conversion?"
elif score == "7":
print "You got the conversion as well"
elif score == "3":
print "Penalty time!"
elif score == "4" or score == "6" or score = "2":
print "You are playing Rugby league not union."
else:
print "What you didn't score any points?"

# functions
def myFunction(p):
return "test of " +p

a = 10
name = "Rob"
print myFunction(name)

return a + b

# data structures
months = "jan, feb, mar, apr, may, jun"

#using a list has index functions
months = ["jan", "feb", "mar", "apr", "may", "jun"]
for i in range(0,6):
print months[0]     # Will output Jan
print months[i]

#data structures
list = [1, 2]

entry = raw_input("Give me a number: ")
entry = int(entry)
list.append(entry)

for i in range(0,3):
print list[i]

# Nested list
months = [ ["jan", 31], ["feb", 28], ["mar", 31], ["apr", 30], ["may", 31] ]
number = int(raw_input("Enter the months number"))
print months[number-1][0] #gives the month name
print months[number-1][1] #gives number of days in month

#or another cleaner option
print "Name: " + months[numbers-1][0] + ", number: " + str(months[number-1][1])

# Further lists functions
a.append(4) # Adds 4 to the end of the list
b = a.pop()
print str(b) + " - is the last entry"
a.sort()
a.reverse()

# So far covered;
# lists
# append
# indexing
# nested
# string and numbers lists
# pop, reverse, sort


As I increase my Python knowledge I will update and add new notes as well as put some example up, so far I like Python much more than other languages I have played with and seems very powerful.