Getting Started in Python

Posted on Thu 20 February 2020 in Python • 4 min read

Resources & tips for getting started in Python

Glossary

One of the most useful skills in my opinion in all walks of life is the ability to find information & answers. A very useful tool for doing this is the internet & search engines like Google. In my opinion being able to search the internet for answers to your programming questions is a skill in itself, knowing the right words or phrases to use is a massive part of that, so I will begin with a glossary of terminology for things that may make it easier to answer your questions.

Term Meaning
Directory In Windows, a directory is commonly referred to as a folder.
Module A module in software is a piece of software responsible for one specific functionality. In Python, they are separate files with a .py extension containing functions, classes and/or variables.
Package A package in Python is a directory of packages and/or modules. It is more or less a directory with one special __init__.py file inside it.
Runtime / Environment The runtime or environment in Python is the context in which the code runs.
Variable A variable is a location that stores data temporarily within a program which can be modified, stored and/or displayed.
Object An object is a combination of data, whether in variables or structures.
Class A class refers to a set of related objects with common properties.
Function A named section of a program that has a specific purpose.
Algorithms A set of guidelines which describe how to perform a task.
API Application Programming Interface, is a structure in which you can interact with another piece of software.
Bug A bug is an unexpected error which causes a malfunction.
Frontend The front-end is how the user interacts with the software, like Windows.
Backend The back-end is all the tasks that happen in the background with the user's interaction
Argument An argument is a value or variable passed into a function.
Boolean Boolean is an expression used with True or False statements, operators include AND, OR, NOT.
Command Line Interface The user interface based on text, typically used on Windows through cmd.exe (Command Prompt)
Shell A shell is a program that takes in commands (like Command Prompt) to interact with the operating system.
Compilation Compilation is converting programming (code) into instructions the computer can understand.
List An ordered sequence of elements, denoted with square brackets [ ]
Dictionary An ordered (in 3.6+) collection of data, with a key and a value, denoted with curly brackets
Exception If a situation comes up that the program cannot handle, it'll throw an exception.
Loop A loop allows code to be executed repeated, either with a for (finite amount of times) or while (indefinite).
Iteration Repetition of a process, you iterate over a loop numerous times.
https://github.com/ A website/service where lots of open source packages live and great resource for finding examples of real-use code.

Editor

There is so many editors out there it is difficult to find the right one for you.

Mu https://codewith.mu/

Mu is a simple Python editor, designed for beginners.

Mu Editor

VS Code https://code.visualstudio.com/

While not specifically for Python, it has an amazing Python extension and is my go-to editor.

VS Code

Sublime Text https://www.sublimetext.com/

A self proclaimed "A sophisticated text editor for code, markup and prose".

Sublime

PyCharm https://www.jetbrains.com/pycharm/

A more fleshed out full suite for professional developers. All the bells and whistles included.

PyCharm

Resources

There is an abundance of resources on the internet for getting started with Python (including this one!), these are my personal recommendations.

Automate The Boring Stuff

http://automatetheboringstuff.com/

Computers are made to do the boring things for us, so make the most of it! This book goes through many practical examples of how you can use Python to automate the boring stuff out of your life.

Code Academy

https://www.codecademy.com/catalog/language/python

While the Python 3 course on Code Academy isn't free, the Python 2.7 version is and you can always learn the differences later on.

Python Bytes Podcast

https://pythonbytes.fm/

Weekly half an hour podcast on exciting packages & tools in the Python space. Great to listen to on your commute!

Github

https://github.com/

Github is a website/service where lots of open source projects & packages live. Lots of information can be found here on the projects themselves and in the issues raised/answered previously.

Cheat Sheet

If you're anything like me, you'd appreciate a nicely laid out cheat sheet. https://perso.limsi.fr/pointal/_media/python:cours:mementopython3-english.pdf

Cheat Sheet

Real Python

https://realpython.com/

Real Python is an amazing website, with lots of beginner friendly tutorials on more topics than I can imagine.

Packages

The best part about Python is the community and abundance of free, open source packages that you can utilise to not re-invent the wheel when solving problems.

I did a blog post on useful packages in 2019, check it out at: https://jackmckew.dev/episode-10-python-package-cheat-sheet.html

If there is anything I have missed, please feel free to drop a comment below and I will update this post!