Programming in Python#
This series of lessons will cover the basics of a programming language called Python:
- Install Python & JupyterLab
- Installing VSCode
- How to Use Jupyter Notebooks
- Anatomy of a Python Script
- Python Variables
- Python Data Types
- Python String Methods
- Files and Character Encoding
- Python Comparisons and Conditionals
- Python Lists and Loops
- Python Lists and Loops (Cont.)
- Python Dictionaries
- Python Functions
- Common Python Errors
- What We’re Not Covering
“Some things to think about before you exhort everyone to code”#
Programming knowledge is not a neutral thing
Miriam Posner, a professor of DH and information studies at UCLA, wrote an excellent blog post about why people should think before they “exhort everyone to code.” In her blog post, Posner discusses that certain kinds of people, like middle-class white men, are more likely to be exposed to programming languages at a young age and are less likely to experience sexism and racism while learning programming languages. “Programming knowledge is not a neutral thing,” she argues.
Before we dive into Python, we want to acknowledge that programming knowledge is not a neutral thing or a natural thing. Further, programming knowledge is not a superior form of knowledge, and it is not the best way to approach every problem.
Why Learn a Programming Language?#
With all that said, why might it be worthwhile to learn a programming language?
You can save time and energy by automating tasks
You can collect and analyze cultural data from a different perspective, such as from a larger scale or a new angle
You can gain more flexibility, customizability, and autonomy over your digital research projects
You can better understand how data and programming languages shape contemporary society and culture
Why Python Specifically?#
Ok but why Python specifically?
Python resembles the English language and is readable for those who know English
Python is known to have a relatively smooth learning curve
Python is a broadly used and popular language
Python is increasingly good for data science
Other commonly used programming languages for cultural analytics/digital humanities include R and JavaScript.
Learning Goals with Python#
Our learning goals with Python are a little different than they might be in a straightforward Computer Science course. We’re striving to:
Learn how to use Python as a tool and apply it to cultural questions
Learn how to read and think critically about Python code
Learn how to tinker with existing Python code for our own purposes
Learn how to better collaborate with computer scientists and software developers
Python Version 3#
The latest version of Python is Python 3. Python 2 has officially been retired. You should not use Python 2.
It’s possible that you may come across old Python 2 code on the internet, which won’t work with Python 3. A tell-tale difference between Python 3 and Python 2 code is the syntax for the print()
function.
Python 3#
In Python 3, the print()
function requires parentheses.
print("Good riddance, Python 2!")
Good riddance, Python 2!
Python 2#
In Python 2, the print()
function does not parentheses.
print "Good riddance, Python 2!""
File "<ipython-input-2-479c4eb9334d>", line 1
print "Good riddance, Python 2!""
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Good riddance, Python 2!"")?