Last active
May 27, 2019 13:02
-
-
Save satwikkansal/66495fc741ffc95d631551612a327892 to your computer and use it in GitHub Desktop.
Cheatsheet for Python
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# import is used to make specialty functions available | |
# These are called modules | |
import random | |
import sys | |
import os | |
# Hello world is just one line of code | |
# print() outputs data to the screen | |
print("Hello World") | |
#This also works | |
print "Another way to print Hello World" | |
''' | |
This is a multi-line comment | |
''' | |
# A variable is a place to store values | |
# Its name is like a label for that value | |
name = "Derek" | |
print(name) | |
# A variable name can contain letters, numbers, or _ | |
# but can't start with a number | |
# There are 5 data types Numbers, Strings, List, Tuple, Dictionary | |
# You can store any of them in the same variable | |
name = 15 | |
print(name) | |
# A string is a string of characters surrounded by " or ' | |
# If you must use a " or ' between the same quote escape it with \ | |
quote = "\"Always remember your unique," | |
# A multi-line quote | |
multi_line_quote = ''' just | |
like everyone else" ''' | |
print(quote + multi_line_quote) | |
# To embed a string in output use %s | |
print("%s %s %s" % ('I like the quote', quote, multi_line_quote)) | |
print('\n' * 5) | |
# LISTS ------------- | |
# A list allows you to create a list of values and manipulate them | |
# Each value has an index with the first one starting at 0 | |
grocery_list = ['Juice', 'Tomatoes', 'Potatoes', 'Bananas'] | |
print('The first item is', grocery_list[0]) | |
# You can change the value stored in a list box | |
grocery_list[0] = "Green Juice" | |
print(grocery_list) | |
# You can get a subset of the list with [min:up to but not including max] | |
print(grocery_list[1:3]) | |
# You can put any data type in a a list including a list | |
other_events = ['Wash Car', 'Pick up Kids', 'Cash Check'] | |
to_do_list = [other_events, grocery_list] | |
print(to_do_list) | |
# Get the second item in the second list (Boxes inside of boxes) | |
print(to_do_list[1][1]) | |
# You add values using append | |
grocery_list.append('onions') | |
print(to_do_list) | |
# Sorts items in list | |
grocery_list.sort() | |
# Reverse sort items in list | |
grocery_list.reverse() | |
# del deletes an item at specified index | |
del grocery_list[4] | |
print(to_do_list) | |
# We can combine lists with a + | |
to_do_list = other_events + grocery_list | |
print(to_do_list) | |
# Get length of list | |
print(len(to_do_list)) | |
# Get the max item in list | |
print(max(to_do_list)) | |
# TUPLES ------------- | |
# Values in a tuple can't change like lists | |
pi_tuple = (3, 1, 4, 1, 5, 9) | |
# Convert tuple into a list | |
new_tuple = list(pi_tuple) | |
# Convert a list into a tuple | |
# new_list = tuple(grocery_list) | |
# tuples also have len(tuple), min(tuple) and max(tuple) | |
# DICTIONARY or MAP ------------- | |
# Made up of values with a unique key for each value | |
# Similar to lists, but you can't join dicts with a + | |
super_villains = {'Fiddler' : 'Isaac Bowin', | |
'Captain Cold' : 'Leonard Snart', | |
'Weather Wizard' : 'Mark Mardon', | |
'Mirror Master' : 'Sam Scudder', | |
'Pied Piper' : 'Thomas Peterson'} | |
print(super_villains['Captain Cold']) | |
# Delete an entry | |
del super_villains['Fiddler'] | |
print(super_villains) | |
# Replace a value | |
super_villains['Pied Piper'] = 'Hartley Rathaway' | |
# Print the number of items in the dictionary | |
print(len(super_villains)) | |
# CONDITIONALS ------------- | |
# The if, else and elif statements are used to perform different | |
# actions based off of conditions | |
# Comparison Operators : ==, !=, >, <, >=, <= | |
# The if statement will execute code if a condition is met | |
# White space is used to group blocks of code in Python | |
# Use the same number of proceeding spaces for blocks of code | |
# Use an if statement if you want to execute different code regardless | |
# of whether the condition ws met or not | |
# If you want to check for multiple conditions use elif | |
# If the first matches it won't check other conditions that follow | |
# You can combine conditions with logical operators | |
# Logical Operators : and, or, not | |
if ((age >= 1) and (age <= 18)): | |
print("You get a birthday party") | |
elif (age == 21) or (age >= 65): | |
print("You get a birthday party") | |
elif not(age == 30): | |
print("You don't get a birthday party") | |
else: | |
print("You get a birthday party yeah") | |
# FOR LOOPS ------------- | |
# Allows you to perform an action a set number of times | |
# Range performs the action 10 times 0 - 9 | |
for x in range(0, 10): | |
print(x , ' ', end="") | |
print('\n') | |
# You can use for loops to cycle through a list | |
grocery_list = ['Juice', 'Tomatoes', 'Potatoes', 'Bananas'] | |
for y in grocery_list: | |
print(y) | |
# You can also define a list of numbers to cycle through | |
for x in [2,4,6,8,10]: | |
print(x) | |
# You can double up for loops to cycle through lists | |
num_list =[[1,2,3],[10,20,30],[100,200,300]]; | |
for x in range(0,3): | |
for y in range(0,3): | |
print(num_list[x][y]) | |
# WHILE LOOPS ------------- | |
# While loops are used when you don't know ahead of time how many | |
# times you'll have to loop | |
random_num = random.randrange(0,100) | |
while (random_num != 15): | |
print(random_num) | |
random_num = random.randrange(0,100) | |
# An iterator for a while loop is defined before the loop | |
i = 0; | |
while (i <= 20): | |
if(i%2 == 0): | |
print(i) | |
elif(i == 9): | |
# Forces the loop to end all together | |
break | |
else: | |
# Shorthand for i = i + 1 | |
i += 1 | |
# Skips to the next iteration of the loop | |
continue | |
i += 1 | |
# FUNCTIONS ------------- | |
# Functions allow you to reuse and write readable code | |
# Type def (define), function name and parameters it receives | |
# return is used to return something to the caller of the function | |
def addNumbers(fNum, sNum): | |
sumNum = fNum + sNum | |
return sumNum | |
print(addNumbers(1, 4)) | |
# Can't get the value of rNum because it was created in a function | |
# It is said to be out of scope | |
# print(sumNum) | |
# If you define a variable outside of the function it works every place | |
newNum = 0; | |
def subNumbers(fNum, sNum): | |
newNum = fNum - sNum | |
return newNum | |
print(subNumbers(1, 4)) | |
# USER INPUT ------------- | |
print('What is your name?') | |
# Stores everything typed up until ENTER | |
name = sys.stdin.readline() | |
print('Hello', name) | |
# STRINGS ------------- | |
# A string is a series of characters surrounded by ' or " | |
long_string = "I'll catch you if you fall - The Floor" | |
# Retrieve the first 4 characters | |
print(long_string[0:4]) | |
# FILE I/O ------------- | |
# Overwrite or create a file for writing | |
test_file = open("test.txt", "wb") | |
# Get the file mode used | |
print(test_file.mode) | |
# Get the files name | |
print(test_file.name) | |
# Write text to a file with a newline | |
test_file.write(bytes("Write me to the file\n", 'UTF-8')) | |
# Close the file | |
test_file.close() | |
# Opens a file for reading and writing | |
test_file = open("test.txt", "r+") | |
# Read text from the file | |
text_in_file = test_file.read() | |
print(text_in_file) | |
# Delete the file | |
os.remove("test.txt") | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import time | |
import random | |
import datetime | |
import telepot | |
import cricket_api | |
""" | |
After **inserting token** in the source code, run it: | |
``` | |
$ python2.7 diceyclock.py | |
``` | |
[Here is a tutorial](http://www.instructables.com/id/Set-up-Telegram-Bot-on-Raspberry-Pi/) | |
teaching you how to setup a bot on Raspberry Pi. This simple bot does nothing | |
but accepts two commands: | |
- `/roll` - reply with a random integer between 1 and 6, like rolling a dice. | |
- `/time` - reply with the current time, like a clock. | |
""" | |
def handle(msg): | |
chat_id = msg['chat']['id'] | |
command = msg['text'] | |
print 'Got command: %s' % command | |
if command == 'roll': | |
bot.sendMessage(chat_id, random.randint(1,6)) | |
elif command == 'time': | |
bot.sendMessage(chat_id, str(datetime.datetime.now())) | |
elif command == 'score': | |
bot.sendMessage(chat_id, "Hang on! Fetching scores") | |
scores = cricket_api.get_scores() | |
print scores | |
for score in scores: | |
bot.sendMessage(chat_id, str(score)) | |
else: | |
bot.sendMessage(chat_id, "I'm not smart enough to understand what you said :(") | |
bot = telepot.Bot('YOUR_ACCESS_TOKEN_HERE') | |
bot.message_loop(handle) | |
print 'I am listening ...' | |
while 1: | |
time.sleep(10) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# import is used to make specialty functions available | |
# These are called modules | |
import random | |
import sys | |
import os | |
# Hello world is just one line of code | |
# print() outputs data to the screen | |
print("Hello World") | |
''' | |
This is a multi-line comment | |
''' | |
# A variable is a place to store values | |
# Its name is like a label for that value | |
name = "Derek" | |
print(name) | |
# A variable name can contain letters, numbers, or _ | |
# but can't start with a number | |
# There are 5 data types Numbers, Strings, List, Tuple, Dictionary | |
# You can store any of them in the same variable | |
name = 15 | |
print(name) | |
# The arithmetic operators +, -, *, /, %, **, // | |
# ** Exponential calculation | |
# // Floor Division | |
print("5 + 2 =", 5+2) | |
print("5 - 2 =", 5-2) | |
print("5 * 2 =", 5*2) | |
print("5 / 2 =", 5/2) | |
print("5 % 2 =", 5%2) | |
print("5 ** 2 =", 5**2) | |
print("5 // 2 =", 5//2) | |
# Order of Operation states * and / is performed before + and - | |
print("1 + 2 - 3 * 2 =", 1 + 2 - 3 * 2) | |
print("(1 + 2 - 3) * 2 =", (1 + 2 - 3) * 2) | |
# A string is a string of characters surrounded by " or ' | |
# If you must use a " or ' between the same quote escape it with \ | |
quote = "\"Always remember your unique," | |
# A multi-line quote | |
multi_line_quote = ''' just | |
like everyone else" ''' | |
print(quote + multi_line_quote) | |
# To embed a string in output use %s | |
print("%s %s %s" % ('I like the quote', quote, multi_line_quote)) | |
# To keep from printing newlines use end="" | |
print("I don't like ",end="") | |
print("newlines") | |
# You can print a string multiple times with * | |
print('\n' * 5) | |
# LISTS ------------- | |
# A list allows you to create a list of values and manipulate them | |
# Each value has an index with the first one starting at 0 | |
grocery_list = ['Juice', 'Tomatoes', 'Potatoes', 'Bananas'] | |
print('The first item is', grocery_list[1]) | |
# You can change the value stored in a list box | |
grocery_list[0] = "Green Juice" | |
print(grocery_list) | |
# You can get a subset of the list with [min:up to but not including max] | |
print(grocery_list[1:3]) | |
# You can put any data type in a a list including a list | |
other_events = ['Wash Car', 'Pick up Kids', 'Cash Check'] | |
to_do_list = [other_events, grocery_list] | |
print(to_do_list) | |
# Get the second item in the second list (Boxes inside of boxes) | |
print(to_do_list[1][1]) | |
# You add values using append | |
grocery_list.append('onions') | |
print(to_do_list) | |
# Insert item at given index | |
grocery_list.insert(1, "Pickle") | |
# Remove item from list | |
grocery_list.remove("Pickle") | |
# Sorts items in list | |
grocery_list.sort() | |
# Reverse sort items in list | |
grocery_list.reverse() | |
# del deletes an item at specified index | |
del grocery_list[4] | |
print(to_do_list) | |
# We can combine lists with a + | |
to_do_list = other_events + grocery_list | |
print(to_do_list) | |
# Get length of list | |
print(len(to_do_list)) | |
# Get the max item in list | |
print(max(to_do_list)) | |
# Get the minimum item in list | |
print(min(to_do_list)) | |
# TUPLES ------------- | |
# Values in a tuple can't change like lists | |
pi_tuple = (3, 1, 4, 1, 5, 9) | |
# Convert tuple into a list | |
new_tuple = list(pi_tuple) | |
# Convert a list into a tuple | |
# new_list = tuple(grocery_list) | |
# tuples also have len(tuple), min(tuple) and max(tuple) | |
# DICTIONARY or MAP ------------- | |
# Made up of values with a unique key for each value | |
# Similar to lists, but you can't join dicts with a + | |
super_villains = {'Fiddler' : 'Isaac Bowin', | |
'Captain Cold' : 'Leonard Snart', | |
'Weather Wizard' : 'Mark Mardon', | |
'Mirror Master' : 'Sam Scudder', | |
'Pied Piper' : 'Thomas Peterson'} | |
print(super_villains['Captain Cold']) | |
# Delete an entry | |
del super_villains['Fiddler'] | |
print(super_villains) | |
# Replace a value | |
super_villains['Pied Piper'] = 'Hartley Rathaway' | |
# Print the number of items in the dictionary | |
print(len(super_villains)) | |
# Get the value for the passed key | |
print(super_villains.get("Pied Piper")) | |
# Get a list of dictionary keys | |
print(super_villains.keys()) | |
# Get a list of dictionary values | |
print(super_villains.values()) | |
# CONDITIONALS ------------- | |
# The if, else and elif statements are used to perform different | |
# actions based off of conditions | |
# Comparison Operators : ==, !=, >, <, >=, <= | |
# The if statement will execute code if a condition is met | |
# White space is used to group blocks of code in Python | |
# Use the same number of proceeding spaces for blocks of code | |
age = 30 | |
if age > 16 : | |
print('You are old enough to drive') | |
# Use an if statement if you want to execute different code regardless | |
# of whether the condition ws met or not | |
if age > 16 : | |
print('You are old enough to drive') | |
else : | |
print('You are not old enough to drive') | |
# If you want to check for multiple conditions use elif | |
# If the first matches it won't check other conditions that follow | |
if age >= 21 : | |
print('You are old enough to drive a tractor trailer') | |
elif age >= 16: | |
print('You are old enough to drive a car') | |
else : | |
print('You are not old enough to drive') | |
# You can combine conditions with logical operators | |
# Logical Operators : and, or, not | |
if ((age >= 1) and (age <= 18)): | |
print("You get a birthday party") | |
elif (age == 21) or (age >= 65): | |
print("You get a birthday party") | |
elif not(age == 30): | |
print("You don't get a birthday party") | |
else: | |
print("You get a birthday party yeah") | |
# FOR LOOPS ------------- | |
# Allows you to perform an action a set number of times | |
# Range performs the action 10 times 0 - 9 | |
for x in range(0, 10): | |
print(x , ' ', end="") | |
print('\n') | |
# You can use for loops to cycle through a list | |
grocery_list = ['Juice', 'Tomatoes', 'Potatoes', 'Bananas'] | |
for y in grocery_list: | |
print(y) | |
# You can also define a list of numbers to cycle through | |
for x in [2,4,6,8,10]: | |
print(x) | |
# You can double up for loops to cycle through lists | |
num_list =[[1,2,3],[10,20,30],[100,200,300]]; | |
for x in range(0,3): | |
for y in range(0,3): | |
print(num_list[x][y]) | |
# WHILE LOOPS ------------- | |
# While loops are used when you don't know ahead of time how many | |
# times you'll have to loop | |
random_num = random.randrange(0,100) | |
while (random_num != 15): | |
print(random_num) | |
random_num = random.randrange(0,100) | |
# An iterator for a while loop is defined before the loop | |
i = 0; | |
while (i <= 20): | |
if(i%2 == 0): | |
print(i) | |
elif(i == 9): | |
# Forces the loop to end all together | |
break | |
else: | |
# Shorthand for i = i + 1 | |
i += 1 | |
# Skips to the next iteration of the loop | |
continue | |
i += 1 | |
# FUNCTIONS ------------- | |
# Functions allow you to reuse and write readable code | |
# Type def (define), function name and parameters it receives | |
# return is used to return something to the caller of the function | |
def addNumbers(fNum, sNum): | |
sumNum = fNum + sNum | |
return sumNum | |
print(addNumbers(1, 4)) | |
# Can't get the value of rNum because it was created in a function | |
# It is said to be out of scope | |
# print(sumNum) | |
# If you define a variable outside of the function it works every place | |
newNum = 0; | |
def subNumbers(fNum, sNum): | |
newNum = fNum - sNum | |
return newNum | |
print(subNumbers(1, 4)) | |
# USER INPUT ------------- | |
print('What is your name?') | |
# Stores everything typed up until ENTER | |
name = sys.stdin.readline() | |
print('Hello', name) | |
# STRINGS ------------- | |
# A string is a series of characters surrounded by ' or " | |
long_string = "I'll catch you if you fall - The Floor" | |
# Retrieve the first 4 characters | |
print(long_string[0:4]) | |
# Get the last 5 characters | |
print(long_string[-5:]) | |
# Everything up to the last 5 characters | |
print(long_string[:-5]) | |
# Concatenate part of a string to another | |
print(long_string[:4] + " be there") | |
# String formatting | |
print("%c is my %s letter and my number %d number is %.5f" % ('X', 'favorite', 1, .14)) | |
# Capitalizes the first letter | |
print(long_string.capitalize()) | |
# Returns the index of the start of the string | |
# case sensitive | |
print(long_string.find("Floor")) | |
# Returns true if all characters are letters ' isn't a letter | |
print(long_string.isalpha()) | |
# Returns true if all characters are numbers | |
print(long_string.isalnum()) | |
# Returns the string length | |
print(len(long_string)) | |
# Replace the first word with the second (Add a number to replace more) | |
print(long_string.replace("Floor", "Ground")) | |
# Remove white space from front and end | |
print(long_string.strip()) | |
# Split a string into a list based on the delimiter you provide | |
quote_list = long_string.split(" ") | |
print(quote_list) | |
# FILE I/O ------------- | |
# Overwrite or create a file for writing | |
test_file = open("test.txt", "wb") | |
# Get the file mode used | |
print(test_file.mode) | |
# Get the files name | |
print(test_file.name) | |
# Write text to a file with a newline | |
test_file.write(bytes("Write me to the file\n", 'UTF-8')) | |
# Close the file | |
test_file.close() | |
# Opens a file for reading and writing | |
test_file = open("test.txt", "r+") | |
# Read text from the file | |
text_in_file = test_file.read() | |
print(text_in_file) | |
# Delete the file | |
os.remove("test.txt") | |
# CLASSES AND OBJECTS ------------- | |
# The concept of OOP allows us to model real world things using code | |
# Every object has attributes (color, height, weight) which are object variables | |
# Every object has abilities (walk, talk, eat) which are object functions | |
class Animal: | |
# None signifies the lack of a value | |
# You can make a variable private by starting it with __ | |
__name = None | |
__height = None | |
__weight = None | |
__sound = None | |
# The constructor is called to set up or initialize an object | |
# self allows an object to refer to itself inside of the class | |
def __init__(self, name, height, weight, sound): | |
self.__name = name | |
self.__height = height | |
self.__weight = weight | |
self.__sound = sound | |
def set_name(self, name): | |
self.__name = name | |
def set_height(self, height): | |
self.__height = height | |
def set_weight(self, height): | |
self.__height = height | |
def set_sound(self, sound): | |
self.__sound = sound | |
def get_name(self): | |
return self.__name | |
def get_height(self): | |
return str(self.__height) | |
def get_weight(self): | |
return str(self.__weight) | |
def get_sound(self): | |
return self.__sound | |
def get_type(self): | |
print("Animal") | |
def toString(self): | |
return "{} is {} cm tall and {} kilograms and says {}".format(self.__name, self.__height, self.__weight, self.__sound) | |
# How to create a Animal object | |
cat = Animal('Whiskers', 33, 10, 'Meow') | |
print(cat.toString()) | |
# You can't access this value directly because it is private | |
#print(cat.__name) | |
# INHERITANCE ------------- | |
# You can inherit all of the variables and methods from another class | |
class Dog(Animal): | |
__owner = None | |
def __init__(self, name, height, weight, sound, owner): | |
self.__owner = owner | |
self.__animal_type = None | |
# How to call the super class constructor | |
super(Dog, self).__init__(name, height, weight, sound) | |
def set_owner(self, owner): | |
self.__owner = owner | |
def get_owner(self): | |
return self.__owner | |
def get_type(self): | |
print ("Dog") | |
# We can overwrite functions in the super class | |
def toString(self): | |
return "{} is {} cm tall and {} kilograms and says {}. His owner is {}".format(self.get_name(), self.get_height(), self.get_weight(), self.get_sound(), self.__owner) | |
# You don't have to require attributes to be sent | |
# This allows for method overloading | |
def multiple_sounds(self, how_many=None): | |
if how_many is None: | |
print(self.get_sound) | |
else: | |
print(self.get_sound() * how_many) | |
spot = Dog("Spot", 53, 27, "Ruff", "Derek") | |
print(spot.toString()) | |
# Polymorphism allows use to refer to objects as their super class | |
# and the correct functions are called automatically | |
class AnimalTesting: | |
def get_type(self, animal): | |
animal.get_type() | |
test_animals = AnimalTesting() | |
test_animals.get_type(cat) | |
test_animals.get_type(spot) | |
spot.multiple_sounds(4) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#importing the python requests library | |
import requests | |
def get_scores(): | |
url = "https://cricscore-api.appspot.com/csa" | |
#Creatin a GET request | |
response = requests.get(url) | |
#Check if the response is okay => Status code 200 | |
if response.status_code == 200: | |
# print "Here's what we've recieved" | |
# print response.text | |
#parsing the json response to a Python Object | |
matches_data = response.json() | |
scores = [] | |
for match in matches_data: | |
match_id = match["id"] | |
#Create one more request to get the score | |
req_url = url + "?id=" + str(match_id) | |
score_data = requests.get(req_url).json() | |
#print "Here's the score data for the match \n", score_data | |
print "="*20 | |
scores.append(score_data[0]["de"]) | |
return scores | |
return "Request to the api failed" | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment