Resources & tips for getting started in Python
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.
|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
|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.|
There is so many editors out there it is difficult to find the right one for you.
Mu is a simple Python editor, designed for beginners.
VS Code https://code.visualstudio.com/
While not specifically for Python, it has an amazing Python extension and is my go-to editor.
Sublime Text https://www.sublimetext.com/
A self proclaimed "A sophisticated text editor for code, markup and prose".
A more fleshed out full suite for professional developers. All the bells and whistles included.
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
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.
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
Weekly half an hour podcast on exciting packages & tools in the Python space. Great to listen to on your commute!
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.
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
Real Python is an amazing website, with lots of beginner friendly tutorials on more topics than I can imagine.
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!