This is my first post in a series to quickly introduce Python:
- Python Primer 1 (You are here)
- Python Primer 2 – Lists and Dictionaries
- Python Primer 3 – Loops and Conditions
- Python Primer 4 – Functions
I use Python a fair amount. Anytime I want to tell the computer to do something really specific that isn’t accomplished easily in some off-the-shelf software, Python is my go-to. There are blogs, books, websites, and others that can explain all the amazing things that this cool programming language can do, but since I foresee using Python to illustrate other concepts that I’m trying to learn and understand, I’m going to try explain what I feel are the most important parts in the fewest amount of words. So on that note, here we go:
Most places start you off with some fancy development software called IDE (Integrated Development Environment) but I don’t really like those and I think it’s important to try the basics first and work up from there.
You’ll want to go to https://www.python.org/downloads/windows/ Just go through the installer and you should be up and running.
For an Apple computer same deal, just go to https://www.python.org/downloads/windows/ and install. OSX comes with Python 2 but not 3, unfortunately, so it has to be added.
If you are using Linux, you probably don’t need to be told how to do this, and listing all the ways to install software on the various major distributions is a waste of cyberspace. I use Ubuntu, it’s already installed.
Fire Up The Shell
The “shell” or command-line is basically just normal Python in slow motion, because we humans type commands slow. Here you can type in commands to the Python “interpreter” one at a time (you can also paste them in for faster results). Python is “interpreted” as opposed to “compiled” (like C++ or Java) because it converts the code you write to machine code when you run your program, instead of doing the conversion beforehand as with compilation. This approach has advantages and disadvantages, places where it’s useful and where it’s not. But the command line feature is great for testing since you can write your code and execute it right there by pressing enter.
On Windows, just search for Python and click on what you find. You’ll be at the right spot if your terminal window looks like mine below. On Mac and Linux pull up a bash terminal type “python3” and you’re off to the races.
What can you do from here? For starters it’s a great calculator:
Or you can use it to scare your co-workers on Halloween:
But you’ll probably want to do something a little more interesting. For that we’ll need some of the basics.
It actually took me quite a while to realize that a variable is just a box in which you put something. Behind the scenes a variable is just some space allocated in memory for whatever data you want to store, but Python handles all of that messy stuff for you since it’s a relatively “high-level” language, meaning a lot of dealing with computer inner-workings like memory addressing and CPU instructions is handled for you so you can focus on getting the computer to do what you want. Not that you should avoid learning about that, but in a lot of situations this high-level approach lets you get things done a lot faster. In any case, just think of a variable as a cardboard box. You can put numbers (Python calls them integers) in a variable. Press enter after you’re done with a line:
x = 1 y = 2 z = 3
x, y, and z are just some variable names I picked that have no meaning, really. Use the “=” sign to put a value in your variable. Now you can reference the names in your code, and not the numbers:
x + y + z
You can re-purpose your variables by reassigning values to them:
x = "The quick brown fox jumps over " y = "the lazy dog." x + y
'The quick brown fox jumps over the lazy dog.'
The part between quotes “” is called a “string”, meaning alpha-numeric characters strung together. A string can be just one letter, one word, multiple words, multiple lines, it doesn’t really matter (I’ll quickly mention that strings can use single quotes or double quotes, doesn’t matter which).
But don’t try to add two variables that aren’t the same “data type”, like an integer and a string, because Python gets mad:
y + z
Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: must be str, not int
Welcome to the world of errors, you’ll be seeing a lot of those.
Next up is some cool ways to organize your stuff, Python calls them Lists and Dictionaries. See you next time!