At the end of 2017, our team carried out an extensive research exploring publicly available data on 1,001 data scientist LinkedIn profiles. The main idea was to understand which are the core skills and the main tools data scientists use nowadays. And we did. Python programming was certainly one of them. Therefore, we decided to create the ‘Python programming explained’ article to provide a much-needed introduction to programming for those of you who have not used Python or another coding language so far.
What do you need to know about Python programming if you are just getting started?
We all have to deal with certain tasks in our daily lives. Many we can solve on our own, while others, especially the ones that are more complicated, can be solved with the help of a computer.
Assume you have defined a problem that must be solved and you know the steps that must be taken to solve it. Even if you could structure your logic perfectly and type a brilliant solution in English, the computer will not understand it, as it understands 1s and 0s only. No other symbols. Similar to a light switch – it recognizes two phases – on and off.
To communicate a real-life problem to the computer, you need to create a specific type of text, called a source code or a human-readable code, that software can read and then process to the computer in 0s and 1s.
A program is a sequence of instructions that designate how to execute a computation.
Therefore, the formal definition of programming is the following:
“Taking a task and writing it down in a programming language that the computer can understand and execute.”
Who are the ones who deal with code on a daily basis?
You need not be a geek or a computer scientist to program. Actually, the subject of computer science is not the study of programming; these are different things, and this can confuse beginners. Computer science is about understanding what computers can do. Programming, instead, is the activity of telling computers to do something for us.
Think about the world we live in today. There are more than a thousand programming languages out there, and each language is designed for carrying out specific tasks. So, depending on the sphere to which your problem applies, only some languages can be of good use.
For instance, PHP is good for web programming but is not suitable for programming devices. C++ can definitely help you with the latter, while Python and R are some of the favorite tools of data scientists and people from the finance industry. When you meet an experienced programmer, don’t think he can programme in all languages out there. Instead, it is likely he can work with one or maybe a few languages, but he has mastered them well.
Author’s note: if you are interested in learning more about the different tools and skills you need to become a data scientist, go ahead and download our free career guide.
But how does somebody become good at programming?
First, programming requires problem-solving skills and involves abstract thinking. You are supposed to understand your task perfectly and then break it down into a sequence of instructions (or smaller computational steps) that the machine can execute.
For example, John is asked by his boss to do the following: create a program that adds 10 to any number his boss inputs with the keyboard. The correct reasoning would be: if x is the unknown provided, we need an output of x + 10.
Organized lines of code
After you have created these steps, with the help of a programming language, you will type in beautifully organized lines of code. So, the second crucial thing to develop is mechanistic thinking. Unfortunately, computers can only execute what you ask them to do, and they won’t understand what you imply by the instructions you have provided. They will simply compute the code, without interpreting your output.
Fortunately, we can do that, though. Humans can understand and interpret code instructions and adjust it whenever necessary. And this is why a solid knowledge about the syntax of a programming language and the ability to understand computer code is of paramount importance – it will positively affect your thinking process, allowing you to break down your problem into parts the computer can execute.
In the example, we provided above, John must think of the following subtasks: first, he must define a function that takes x as an argument and then returns as an output a new variable equal to x + 10. This is how this problem can be solved.
Coding style is important
Regardless of the problem you are facing or the programming language you are using, your coding style is crucial! Remember that. Having three lines of code is straightforward to understand. However, in practice, you will likely work with hundreds of lines of code that must be sent to other people. If your work is difficult to read, unnecessarily complicated, full of variables’ names, conveying no meaning, it will be poorly received by other programmers. Therefore, throughout our posts, we are paying attention to the best practices that will help you organize your code!
Programming challenges are great as they develop your mechanistic thinking and problem-solving abilities. This involves formulating problems, breaking them down into meaningful steps, and communicating these steps to the computer in an organized way.
This pretty much wraps up our ‘Python programming explained’ article (we exhausted the 900 words at our disposal).
What comes next?
We have prepared a number of useful tutorials for you. First, we would like to explain a bit more about the advantages Python has with respect to other programming languages and what makes Python the preferred coding languages for the majority of data scientists out there. Then, we will show you how to install Python and Jupyter through the Anaconda package.
Both of these steps are necessary to start coding in Python and learn its basic syntax.