Skip to main content

Python basics cheatsheet

Python Basics Cheatsheet




Python is an interpreted language.

Math, numbers and variables 

Mathematical Operators


Besides the usual operators (+, -, * and /), Python has exponent ( ** ) and negation ( - as a prefix to a number ).

Integers and Floats

Integers: 50
Floats: 3.1421

Order of operations

 PEMDAS: Parentheses, Exponent, Multiplication, Division, Addition and Subtraction

Using Variables

 No spaces in the variable name and must start with a character. Python style Pep 8 recommends lowercase words separated by underscore.

Rounding


import math
math.ceil(4.8) // will print 5

Other python libraries



Strings

Create strings

first_name = ‘Aditya’
last_name = ‘Inapurapu’

Concatenate strings

full_name = first_name + ‘ ‘ + last_name

Print strings

// Print one string
print(first_name)

// Print multiple strings one after the other with a space in between
print(first_name, last_name)

Python script

 Example: script.py
first_name = ‘Aditya’
last_name = ‘Inapurapu’
full_name = first_name + ‘ ‘ + last_name
print(first_name)
print(first_name, last_name)

Execute the following shell command to execute the python script:
python script.py

Comments

# is the comment character that makes the entire line in the python script as a comment.

Number to string

year = 1969
sentence = ‘The year was’ + str(year)
// A print statement automatically converts a number to a string
print(‘The year was’, year)

Single quotes in the string

famous_sketch = “Hell’s Grannies”

New line characters and tabs

famous_sketch1 = “\n\tHell’s Grannies”

String is an array of characters


greeting = ‘Hello World!’
#Prints H
print(greeting[0])
#Prints !
print(greeting[11])
#IndexError: string index out of range
print(greeting[12])

Built-in String functions

len()

greeting = ‘Hello World!’
print(len(greeting))

Sliceword = ‘Python’

# Prints ‘tho’
print(word[2:5])

Slice from the beginning of the string

word = ‘Good’
#Print from the beginning of the string to index 2
print(word[0:2])
#Also prints from the beginning of the string to index 2
print(word[:2])

Slice from the middle to the end of the string

word = ‘Good’
#Print from index 2 to the end of the string
print(word[2:])

Halfway index of the string using Integer division

// - is the Integer division operator which divides and always returns a whole number
word1 = ‘Good’
half1 = len(word1)//2
end1 = word1[half1:]
word2 = ‘Evening’
half2 = len(word2)//2
end2 = word2[half2:]
print(end1, end2)




Conditionals

< 
<=
==
>=
> 
!=

if num_knights < 3:
      print(‘Retreat!’)
      print(‘Raise the white flag!’)
else:
      print(‘Truce?’)
print (‘Knights of the Round Table!’)

if num_knights < 3:
      print(‘Retreat!’)
elif num_knights >= 10:
      print(‘Trojan Rabbit’)
else:
      print(‘Truce?’)

Input

day = input(“Enter the day of the week”)
print(‘You entered:’, day)

Convert from string to int

num_knights = int(input(‘Enter the number of knights’))
print(‘You entered: ‘, num_knights)
if num_knights < 3 or day == ‘Monday’:
      print(‘Retreat!’)




Nested if

if enemy == ‘Killer bunny’:
      print(‘Holy Hand Grenade!’)
if num_knights >= 10 and day == ‘Wednesday’
      print(‘Trojan Rabbit!’)
else:
      print(‘Truce?’)

Core data structures

List

# An empty list
empty = []

# A list of numbers
nums = [1, 2, 3, 4]

# A list of strings
words = [‘word1’, ‘word2’, ‘word3’]

# A list of mixed items
anything = [10, ‘hello’, ‘ahoy’, ‘mate’, 123.45]
# Prints 10
print(anything[0])
# Prints ahoy
print(anything[2])
# Prints hello ahoy
print(anything[1:3])

# Append items to the list
anything.append(‘end’)

# Remove item by value
anything.remove(‘hello’)

# Remove item by index
del anything[0]

# Remove items by slice
del anything[1:3]


Dictionaries

Dictionaries are equivalent to maps in Java where the data structure is a heap of key value pairs.
slang = {‘cheerio’: ‘goodbye’, ‘knackered’: ‘tired’, ‘yonks’: ‘ages’}
# Prints goodbye
print(slang[‘cheerio’])

# Empty dictionary
slang = {}

# Add key value pairs or update values
slang[‘knackered’] = ‘tired’
slang[‘smashing’] = ‘terrific’

# Delete items from the dictionary
del slang[‘cheerio’]

# If the key does not exist, a KeyError occurs and stops program execution. Use the get method to avoid this issue. If the key does not exist, ‘None’ will be returned.
result = slang.get(‘bloody’)
# if result exists
if result:
      print(result)
else:
      print(‘Key does not exist’)


Comparing Lists


my_list = [1, 2, 3, 4]
your_list = [4, 3, 2, 1]
his_list = [1, 2, 3, 4]
# Not equals returns false
print(my_list == your_list)
# Equals returns true
print(my_list == his_list)




Comparing Dictionaries

my_dictionary = {1:1, 2:2, 3:3, 4:4}
your_dictionary = {4:4, 3:3, 2:2, 1:1}
# Equals returns true
print(my_dictionary == your_dictionary)

List of lists

menus = [[ ‘Spam n Eggs’, ‘Spam n Jam’, ‘Span n Ham’],
      [‘SLT (Spam-Lettuce-Tomato)’, ‘PB&S (PB&Spam)’],
      [‘Spalad’, ‘Spamghetti’, ‘Spam noodle soup’]]
print(menus[0][1])

Dictionary of lists

menus = {‘Breakfast’: [ ‘Spam n Eggs’, ‘Spam n Jam’, ‘Span n Ham’],
      ‘Lunch’: [‘SLT (Spam-Lettuce-Tomato)’, ‘PB&S (PB&Spam)’],
      ‘Dinner’: [‘Spalad’, ‘Spamghetti’, ‘Spam noodle soup’]}
print(‘Breakfast Menu:\t’, menus[‘Breakfast’])
print(‘Lunch Menu:\t’, menus[‘Lunch’])

Loops

For loop

prices = [2.50, 3.50, 4.50]
# Print all prices using a loop
for price in prices:
      print(‘Price is’, price)
total = 0
for price in prices:
      print(‘Price is’, price)
      total = total + price
      print(‘total is’, total)
average = total/len(prices)
print(‘Average is’, average)

Generate a random number

import random
# Generates a random number from [0.0, 1.0]
r1 = random.random()
print(r1)
# Generates a random choice from a list
r2 = random.choice([1, 2, 3, 4, 5])
print(r2)
# Generates a random number between 1 and 1000
r3 = random.randint(1, 1000)
print(r3)

Simple range function


# Creates a list containing numbers 0 to 9
range(10)

for i in range(10):
      ticket = random.randint(1, 1000)
      print(ticket)

Start, Stop and Step range function


# Creates a list containing numbers ranging from 2005 to 2016 incrementing by 2
for i in range(2005, 2016, 2):
      print(i)
# The above prints 2005, 2007, 2009, 2011, 2013, 2015




More loops

# Append ‘spam’ to each word inside a list.
slang = [‘Knackered’, ‘Pip pip’, ‘Squidgy’, ‘Smashing’]
for word in slang:
      menu.append(word + ‘ Spam)
print(menu)
# Assign prices to each menu item in a dictionary.
menu = [‘Knackered Spam’, ‘Pip pip Spam’, ‘Squidgy Spam’, ‘Smashing Spam’]
menu_price = {}
price = 0.50
for item in menu
      menu_prices[item] = price
      price = price + 1
print(menu_prices)

# Print the keys in the dictionary
for item in menu_prices:
      print(item)

# Print key value pairs
for name, price in menu_prices.items():
      print(name, ‘: $’, price)

# Print without extra spaces
print(name, ‘: $’, price, sep=’’)

# Round/Format to 2 decimal places
print(name, ‘: $’, format(price, ‘.2f’), sep=’’)




While loop

x = 1
while x != 3:
      print(‘x is’, x)
      x = x + 1

orders = []
order = input(“What would like to order? (Q for Quit)”)
while (order.upper() != ‘Q’)
      # Find the order and add it to the list if it exists
found = menu.get(order)
if found:
orders.append(order)
else:
print(“Menu item doesn’t exist”)

# Check if the customer wants to order anything else
order = input(“Anything else? (Q to Quit)”)
print(prders)

Break

while (True)
      if order.upper() == ‘Q’:
           break
      else:
           …

Continue

while (True)
      if order.upper() == ‘Q’:
           break
      if order == ‘Cheeky Spam’:
           print(“Sorry, we’re all out of that!”)
           continue



Functions


Define a function

def average(prices):
      …
return avg

Call a function


numbers = [1, 2, 3, 4, 5]
my_average = average(numbers)
print(my_average)


main()

Good practice to have a function name main.

def average(numbers):
      total = 0
      for num in list:
           total = total + num
      avg = total/len(numbers)
      return avg

def main():
prices = [29, 21, 55, 10]
result = average(prices)
print(result)
main()




Files


Writing files


#Open the file in ‘w’ write mode
sales_log = open(‘spam_orders.txt’, ‘w’)
# If the file does not exist, python will create it for us.
sales_log.write(‘The Spam Van’)
sales_log.write(‘Sales log’)
sales_log.close()

# Append  mode
sales_log = open(‘spam_orders.txt’, ‘a’)

Reading files

# Read and print the entire file
dollar_spam = open(‘dollar_menu.txt’, ‘r’)
print(dollar_spam.read())
dollar_spam.close()

# Read one line at a time
dollar_spam = open(‘dollar_menu.txt’, ‘r’)
print(‘1st line:’, dollar_spam.readline())
print(‘2nd line:’, dollar_spam.readline())
dollar_spam.close()

# Read one line at a time in a loop till end of the file
dollar_spam = open(‘dollar_menu.txt’, ‘r’)
for line in dollar_spam:
        print(line)
dollar_spam.close()

# Read one line at a time into a list
dollar_spam = open(‘dollar_menu.txt’, ‘r’)
dollar_menu = []
for line in dollar_spam:
        dollar_menu.append(line)
print(dollar_menu)
dollar_spam.close()

#Remove the leading and trailing new line character
dollar_spam = open(‘dollar_menu.txt’, ‘r’)
dollar_menu = []
for line in dollar_spam:
        line = line.strip()
        dollar_menu.append(line)
print(dollar_menu)
dollar_spam.close()

Exceptions

Python has 60 plus exceptions.

Try, Except

try:
      file = open(‘sales.txt’, ‘r’)
      print(file.read())
except:
      print(“File doesn’t exist”)

Capture the error as a variable


try:
price = float(price)
print(‘Price =’, price)
except ValueError as err:
      print(err)






Modules


Installing modules


pip install requests

http://go.codeschool.com/pypi - for all available Python packages

JSON to format and share data


first_item = {‘name’: ‘Spam n Eggs’,
           ‘description’: ‘Two eggs with Spam’,
           ‘price’: 2.50}
second_item = {‘name’:’Span n Jam’,
‘description’:’Biscuit with Jam with Spam’,
‘price’: 3.50}
menu_items = [first_item, second_item]
print(menu_items[0][‘name], menu_items[0][‘price’], menu_items[0][‘desc’]

# Get JSON from a http request
import requests

my_request = requests.get(‘http://go.codeschool.com/spamvanmenu’)
menu_list = my_request.json()
print(“Today’s Menu:”)
for item in menu_list:
      print(item[‘name’], item[‘desc’], item[‘price’]




Create your own module



# orders.py
def print_menu(menu):

def get_order(menu):

def total_bill(orders, menu):


# spam_van.py
import orders

def main():
      menu = {‘Cheerio Spam”: 0.50, …}
      orders.print_menu(menu)
      orders = orders.get_order(menu)
      total = orders.bill_total(orders, menu)
      print(‘You ordered:’, order, ‘Total:’ total)
main()


Popular posts from this blog

Create #VirtualPrivateCloud, NAT Instance and NAT Gateways on @AWSCloud

Create a Virtual Private Cloud, NAT instance and the new NAT Gatweay ... and making it all work. This is a YouTube playlist of three videos.

A @trello board to get kids excited

My 8 year old just started his summer break. He did so well in school and I am proud of him. He skipped second grade, got into the gold honor roll in every quarter and got a medal for doing that. Last night, I promised to install a new app for him on his iPad mini. I installed Trello and created a board for him while he watched. I showed him how to create cards, add labels to them and move them from To Do, to Doing to Done. I had him create some cards and label them. He could not stop creating cards. I could not convince him to go to bed after that. He created cards for everything he wants to do in the summer and he is not done with creating cards. He even created a card to email a screenshot of his Trello board to his teacher. Later last night, he was still awake in bed when I checked on him. He told me that he wanted to add three more labels - Math, Science and One-on-One. He wanted a label titled 'One-on-one' for tasks that he wants to do with me and he wants one-on-one at

Cheat sheet to create a #VPC and Subnets on @AWSCloud

One of the critical things to remember for working with a AWS VPC is creating and using it. I had hard time remembering how to do it, so, I wrote down a cheat sheet for myself.  If anyone wants to follow along, just navigate to the VPC page on the AWS Console and start with 'Create VPC' button. Please note that this may cost some dollars if you are not on the free tier. If you are on the free tier and make mistakes, it may cost some dollars. In the steps below, we will be creating the following on a new VPC: An internet gateway One public subnet with routes for accessibility from the internet One private subnet without any routes One EC2 web server with Apache installed in it and serving a sample html page - using the public subnet. One EC2 server with the private subnet and security group that allows access to resources running on the public subnet only.  Create VPC Name tag: myVPC CIDR Block: 10.0.0.0/16 Tenancy: default (Must have default. Otherwise, it