888888ba a88888b. .d888888 888888ba d88 dP dP 88 `8b d8' `88 d8' 88 88 `8b 88 88 88 a88aaaa8P' dP dP 88 88aaaaa88a a88aaaa8P' 88 88aaa88 88 88 88 88 88 88 88 `8b. 88 88 88 88. .88 Y8. .88 88 88 88 88 88 88 dP `8888P88 Y88888P' 88 88 dP dP d88P dP oooooooooooo~~~~.88~oooooooooooooooooooooooooooooooooooooooooooooooo d8888P
Python mini boot camp at #NICAR14 in Baltimore
Let's use Wakari.io bundles for this class. At the end, we'll give you everything working in Github.
As a backup plan in case the internet is bad, we'll have the bundles on the machines, and we can use the Anaconda distro of Python's interactive interpreter in Windows PowerShell.
Schedule for the day
- Who are you, what do you do, what do you want to learn?
- What will we learn
- what can I do with it?
- The goal of the day is to start to learn how to think about solving problems.
Start with a CSV. Let's write some basic scripts to see what we're working with. Then we'll introduce some key Python types like strings, integers, lists, slicing and loops. After a white board exercise, we'll start with a file of pseudocode, and we'll walk through writing the program in Python code, running the file at the command line. We'll hold your hand through it, step by step.
We have a CSV of baseball player salaries. Let's figure out who makes the most money and examine some other biographical information about them, using dictionaries.
How to debug your code, aka "Google and StackOverflow are your new best friends"
This section covers webscraping with Python using a get request, writing the data to a CSV.
Let's use an API to get information programatically to create a spreadsheet. Our data comes in a new format: JSON. Show on the whiteboard how it's basically a combination of data structures we already know about: Lists and dicts (arrays and objects).
At the end of the day, we'll send you home with with:
- A lightning dash through basic variables, types and functions.
- the working, commented code for each project from our git repo
- a walkthrough for setting up your machine at home with Python, version control and virtualenvs.
- Good libraries to explore with strong tutorials
- lifetime support guarantee from us & PythonJournos
If you're working through this code at home and have trouble, please let us know. The best option is to file an issue report of the bug so we can help you. You can also reach out to any of us on Twitter or ping PythonJournos.