Python, no doubt, is one of the most popular programming languages around. It runs on multiple platforms like Mac, Linux, and windows. People use it to do lots of nice stuff, ranging from automation to AI, to applications and to websites. As a beginner just entering the Python learning fray, here are a few tips to prepare and get you started for good, and here are a few things you should avoid.
Define Purpose
Anyone who decides to learn Python has to decide why you really want to learn, even before commencing the training. This will help you decide an area of specialization and hasten your learning in that area. This can also help you know the supporting details you need from other programming languages if need be. For example, if you want to become a web developer, you have to learn HTML, CSS and some JavaScript apart from Python. This will help to make you a fully equipped web developer. The three are completely different coding language fields but are necessary for the making of a full-stack developer.
Or a data analyst may need to learn SQL, R, and other business intelligence tools like Tableau or Elastic Search. The journey is what you make it but having an idea of where you want to go can help you plan your first few destinations in the tech country.
Commitment and consistency
The most common question for beginners or prospective Python students is ‘how long does it take to learn python? There’s no straight answer to that; it depends on the learner. It depends on how much effort and commitment the learner is willing to put into it. My own development journey has been 10 years in the making and has changed my life greatly.
But here is an idea for those just beginning; ‘if you can put in two hours every day to practice python for three months, you should be able to write basic Python programs but there will still be more deeper principles you should learn before applying for jobs. In order to get your first job, I suggest you specialize in deeper areas of python and programming.
The whole point being made here is that one’s level of commitment and self-effort dictates a lot about the pace of learning Python. And also, as common with all programming languages, consistency in practice is key. Without consistency, it’s easy for the brain to let slip what has been learned over time.
Be ready to take notes
According to research, for long term retention, it is quite beneficial to take notes by hand. By this, you can accurately map out your code plan before moving on to the computer my drafting out a flow chart or class diagrams. This will save you time at the keyboard. It is also a useful experience that will help in doing well in interviews that will involve writing code on a whiteboard.
Download and install Python, start learning
Though most of today’s Linux and Mac operating systems have Python preinstalled in them; the version might be out-of-date. It is advisable to get the most current version to keep up with the world and protect yourself from known security holes. At the time of this writing you should at least be looking to install python 3.6 for the latest stable or python 3.8 if you want the latest and greatest.
To download and install Python, you can just open your browser, visit http://www.python.org and download the latest version that fits your system’s interface. Go to the ‘download’ location on your computer after the file has been downloaded and click to install.
Then, the ‘learning Python’ journey begins. In this day and age, there are numerous avenues to this effectively. You can download videos, eBooks, presentations, etc. from the internet. There are good websites and great YouTube channels full of these resources. You can enroll on websites that offer python courses online like Udemy or Coursera. Or read up and follow trusted blogs on Python development such as this one. Lots of blogs provide simple tutorials for free and more advanced courses with guided videos for free. However, the sure thing is that there are numerous good options to choose from.
Know fundamental programming concepts
A lot of programming languages have very similar concepts. Knowing the fundamental concepts in one programming language can actually help transition to another more easily. Therefore, learning these core concepts is a very important step to follow. For example; variables, strings, data types, functions, conditionals, loop, objects, etc are each used in the various programming languages. Therefore, as a beginner, familiarizing yourself with these terms now will enable you to transition to other languages if you end up pursuing a programming career where you may be tasked with working on code other than python.
Interact and collaborate with others who are learning
This is very important as it helps to engage in teamwork while sharing tips and tricks. This takes away the solitariness known with coding activities. And there are many out there who are passionate about learning python. All one has to do is link up with them to make the python learning journey smoother.
Asking questions and getting good clarifications on parts that look like a mystery from those who have gone ahead in the field is a good step as learning is aided. It’s a good thing to have someone of this caliber as what can be called ‘a mentor’ in programming.
The python coding/programming self-instruction hub facebook group has thousands of active member with lots of shared code examples and questions. From my time being a member in this group a lot of the posts seem to be people asking for help on homework problems but it has still been a useful group.
You can also join the beapythondev facebook group for this blog if you have broader questions in python career development and want to be a part in building a community.
Breaks are needed
Generally, in programming, a very important part of the learning process is stepping away from the stuff, which is, taking breaks to allow for concept absorption. Python isn’t an exception to this drill. Breaks are needed for effective learning in programming as it’s a process that involves taking in a lot of new information.
Debugging is a stage where breaks can really come in handy. You will sure hit bugs as you start writing complex programs. You need not be frustrated. It happens to all programmers. If a bug is hit and the issue seems as though it can’t be figured out, stepping away from the computer for a relaxing chat can really make a difference and give a chance to approach the problem with fresh eyes on return.
Learn by doing
Most of an individual’s learning in Python comes from using Python to build something. When accomplished, the outcome is seen and applauded. Many small exercises can be engaged in once you have a solid grasp of basic data structures like string, list, dictionaries, etc., you can start building something like a guess the number game, hangman, or even a slot machine game.
Try contributing to open source projects too. Many companies publish open source projects, and you can, through this, get to work with codes produced and written by engineers working in these companies. This gives wonderful learning experiences.
Here are some great open source projects that I frequently use and refer to when learning how to structure larger code projects.
- Amazon AWS Boto library – Use powerful cloud services in your application such as simple message queues or sql/nosql data storage
- SQLAlchemy – Interface your python program with a relational database
- Python Flask – Create full working web applications with a python backend
Parting shots
With these tips well followed, you are set for a successful trip into the python programming world. A great learning experience is guaranteed. Now, is the time for the real business. Welcome to the coding world!
If you’ve made it this far I’m extremely interested in what has brought you here and what you are looking to achieve in python so leave me a comment below! And I’m sure other developers would like to know as well so don’t be shy.