Learn Python for Non Programmers

Python is an extremely robust general purpose programming language. Subsequently, many non-programmers want to learn this language because they know Python is the right answer for their problems. But, some of them are lost because they don't know the best way to learn Python.

I wasn't a programmer myself and I had a hard time learning to program. Based on my experience, there are a couple of things you need to prepare if you want to use Python to solve problems related to your expertise. First of all, you need to have a firm goal, don’t get distracted and learn python for other purposes. secondly, you must recognize what is the best learning medium for you. Is it from books, interactive websites or video tutorials. Lastly, It is much better if you could learn Python from basic to advance from one source. In addition, joining Python communities will greatly excel your Python knowledge.

Why I learned Python

I knew programming is so important for GIS since I was in my final year at university. Unfortunately, I didn’t have a chance to take a programming class at that time and I wasn’t a guy who can learn independently.

I got several opportunities to learn programming (VB and PHP) through short courses from my company. However, I felt that the short courses were so difficult and not enough to apply what I’ve learned to build a webGIS.

Fortunately, I had a chance to attend a free R programming course while I learned about spatial statistics. This course was a breakthrough for me, suddenly I can do several spatial analysis by using a programming language.

Nevertheless, R is not the language that I really wanted, I cannot build a webGIS by using R. Shortly after doing a little research, I found that Python is the programming language that I was looking for. It supports scientific and GIS analysis and also universally used to build websites.

Regardless of the simple syntax this language has, learning Python programming from zero to advance level still requires hard work. And you need to have decisive references that ensure you to achieve your target.

I learned Python the hard way, I tried everything I could find. Sometime I found a material that wasn’t suitable with what I needed, and sometimes I couldn’t find any learning material that made me stop learning for a while. I wish my experience learning Python as a non programmer will make you better prepared for your learning journey.

Determine your ultimate purpose of learning Python

I’ve said it in my previous articles and I want to say it again that having a definite goal is an absolute prerequisite for a smooth learning journey. I believe that you already have a certain target of learning Python because you come from a particular background.

Nevertheless, when you start learning basic Python and continue to intermediate level you begin to realize that Python is a powerful language for so many applications. It is common that you are tempted to change your focus and start learning Python for another purpose. Maybe you are starting to think of career switch possibility.

This is the time when you should look back to your initial objective of learning Python. Changing the subject in the middle of the learning process is like a gamble. You can achieve success with your new field, or you just waste too many precious time without gaining anything.

I want to assure you that you can become a Python programmer with multiple skills. Nonetheless, I really suggest you to learn new applications of Python after you master Python application for your background expertise.

Choose your ideal Python learning materials

When you are ready to learn Python language, you will find a myriad of learning resources online or offline. First of all, sort them out by selecting learning materials that suit your style of learning.

Some people are so comfortable learning something new from books. If you are one of them, you can focus on searching for the best Python programming book. My article about four best Python books could become your starting point to select a book.

Another popular Python study resources are video tutorials on YouTube or other paid online learning websites. In my previous post, I made a review about five top YouTube channels to learn Python basics. In my opinion, Corey Schafer and Sentdex are two best YouTube channels to follow because they have different tutorials from Python basic to advanced level.

Alternatively, you can learn Python from websites that provide interactive learning materials. These websites are not only giving you detailed explanation about a topic but also providing exercises or challenges. One famous online interactive platform is Codeacademy, however parts of the topics can only be accessed by paid members.

A free website that provides excellent Python training is Lectures in Quantitative Economics. Maybe this website is not what you are looking for because it teaches Quant, but it has a really good basic Python materials that I believe it is advantageous for you.

One more Python learning resource on the internet is MOOC (Massive open online course) websites. I tried edX MITx course ( Introduction to Computer Science and Programming Using Python) and I found it absolutely compelling. It has really engaging and enlightening contents because it is delivered by MIT professors. Other MOOC providers you can look at are Coursera and FutureLearn.

In case you haven’t recognize which learning method is the most suitable for you, you need to try each learning resource to learn basic Python. Don’t be reluctant to study Python fundamental over again from different sources. You better explore the best technique that works for you while you are in the early stages of your learning journey.

The best way to learn Python for non programmers

Learn Python from one provider

To be an adept Python programmer, you need disparate learning materials that will take you from novice to advanced level. In my opinion, it is better if you learn the materials from one tutor or at least one publisher/provider.

I didn’t make any significant progress when I learned Django from various sources. Luckily, I found a YouTube channel (CodingEntrepreneurs) that deliver numerous series about Django. I followed more than three of his tutorials and that was the breakthrough that made me a  Django programmer.

I had another great learning experience when I studied Javascript from freecodecamp.org. This website has a marvelous curriculum that will guide you to become a full-stack web developer. I finished front-end web certification that require me to complete HTML, CSS, Bootstrap, and Javascript challenges.

That experience made me believe that learning from one place would make the journey smoother. It is as if you have already been provided with a learning roadmap. All you have to do is follow the path and you will arrive at your destination.

In case that you want to learn Python from textbooks, than it is very much better for you to subscribe a membership program from a publisher like O'Reilly Learning, Apress Access, Packtpub, or others. You will save a great deal of money compare to buy books individually. Some of subscription programs also provide access to video contents.

This doesn’t mean that you won’t need other materials. When you get into difficult concepts or techniques you will definitely look for other sources like YouTube videos or blog posts. Once you pass the challenge, exercise or chapter, you can go back to your main resource and continue to the next level.

Join communities

Learning a programming language is a journey that will test your endurance. You need help along the way. The best help you can get comes from someone who has passed this adventure or someone who started the journey earlier than you.

Join a community near your place or online is the perfect step to reach those people to ask for advice. I didn’t have a privilege to join an offline Python community because there is none in my small city. However, I join several Telegram and Facebook groups where I could connect with all Pythonistas from my country and around the world.

More importantly, an online or offline community is not only a place to raise a question when you face a difficulty. It is a lively discussion platform where you can give and get invaluable information.

I received so many Python tricks because other Python learners asked questions and senior python programmers provide solutions that I never found on text books or video tutorials. Additionally, I got precious information such as free books (Packtpub Free Learning), free Udemy coupons, meetup and so much more.


Nowadays, there are so many people who learn a programming language because they need a quick and comprehensive solution to their problems. They come from diverse backgrounds and have various levels of programming knowledge.

Python has become one of the most desired languages because it can be applied to solve problems from disparate disciplines. More importantly, Python is relatively easier to learn for non programmers than other languages.

It is essential for non programmers who start learning to code to have knowledge about the best strategy to master Python effectively. The tips that I shared in this article is based on my own experience learning this language. I really hope that the tips will assist you in learning this language more efficiently.