UNDERSTANDING PYTHON
Beginners Guide to Programming
***
Dr Sabry Fattah
Published by Sabry Fattah at Smashwords
Copyright 2020 Sabry Fattah
Table of Contents
Introduction
What is Programming?
Python Programming Language
Strings
Lists
Dictionary
Sets
Tuples
Iterators
Functions
Classes
Modules
Keywords
Builtins
The Regular Expressions
Files
Data
Documentation
Design
Example Script
Introduction
Many people hesitate to approach programming as they see it as a complex task which needs skills not easy to attain. Some believe you have to be good at mathematics to learn programming. For others, computers seem to be an enigma difficult to understand except by experts who have spent years studying at technical colleges.
In fact, programming is a skill every person should get his hands on. It does not need you to be a math wiz to program a computer. It only needs you to be able to think logically. Knowing how to program does not mean you are a software developer; it is mainly a necessity for every person in modern life. As we use software programs for every aspect of our daily life, we need to understand how these programs are designed and developed. In this way, not only that we understand fully how to use them efficiently, but also, we know what are their limitations and potentials.
Understanding software programming can also affect our way of thinking: how we identify and describe oue problems? how we analyse the problems parts? How to devise ways to manage such problems? And what logical steps to take to reach a solution to any problem?
Someone may ask: Why to bother with programming while there are thousands of software applications and programs available either free or for a little sum of money? Apart from those who would learn programming to promote their career and advance to a professional level, computer programming is very rewarding. To be able to customize a program to your needs and to design a simple script to perform exactly the task you want is very useful and satisfactory. If you are looking for subsiding your income with freelance online jobs in web design or data science, a good knowledge and experience in programming is essential.
This book is about computer programming using Python Programming Language. Python is a very popular language used in many academic institutions, schools, businesses, and corporations. It is known for its versatility, and ability to scale its use from the simplest programming task to the most complex and sophisticated project such as artificial intelligence.
This book is aimed at the general reader. However, you need to try the included code snippets given here to understand fully how they behave and perform their tasks. A hands-on approach is very essential in learning computer programming. After installing Python on your computer - if it is not already installed - you can try the interactive system on the windows console, which is the text-only mode window. You get to this window if you type "cmd" at the Windows search box and clicking on the black icon. If you type "python" at the prompt - provided you installed Python correctly - you will be at the Python Interactive Mode prompt. You can try simple statements here. Another way to test your code is to write a simple text file with extension .py and run this file from the console.
I use python on Microsoft Windows. To test a script, I create a cmd.exe shortcut on my desktop. This shortcut can be customized to point to the directory where my trial scripts are located. So, once I open the shortcut and get to the console window, I can write the name of the script to run it and see its output. The advantage for this approach is that you get a feedback about your errors. You can thus open two windows, one for the console and the other for your editor where you correct your code.
There is an editor bundled with Python installation known as IDLE which is short for Integrated Development and Learning Environment. It has two main windows, the Shell window and the Editor window. In this Interface, you are also able to run the code and notice output or any errors.
There are a number of available IDLE similar to the one available in Python installation. I prefer to use an advanced text editor like Notepad++ which allow code highlighting to identify different parts of the code text. Notepad++ also has a number of plugins which allow running your code and getting the output on the same screen. There is a learning curve in the process of mastering programming. The learning curve is not very steep with Python because it is easy to understand what exactly you are try to achieve and where are you mistakes. The following chapters will help you progress along these steps.
What is Programming?
Programming is writing computer code to create a program.
The aim of such program is to solve a problem. From a simple mathematical problem such as: How many even numbers in a series of numbers? to a more complex one, e.g. How to recognize the faces of people in photos?.
Programs consist of a series of instructions to tell a computer exactly what to do and how to do it. This is called an algorithm. An algorithm is a sequence of logical instructions to carry out a task. It is something similar to a recipe in cooking.
An algorithm may be written in plain English which could be a planning step before writing the true code. This is called a Pseudocode. Sometimes, a flow chart may be used to represent the steps in an algorithm to carry out the tasks. A pseudocode or a flow chart may be later translated into a computer program in the chosen programming language.
To program a computer, you need to communicate with the machine using a language it understands. The computer understands only machine code. You need a translator to help you get in contact with your computer. This translator is the programming language.
A programming language is an artificial language that communicate with the computer structure to control its output. Any such language is made up of series of statements that give instructions to tell a computer what to do.
Programming languages are designed to be easy for a human to understand and write in. However, a computer cannot run programs written in these languages directly. Most programming languages have to be translated into machine code before the computer can execute the instructions.
There are many different programming languages. They all share similar basic concepts although they differ in syntax and style. Some are more complicated and complex than others. Some are easier to understand for the human reader while others use concise, laconic and symbolic vocabulary.
Programming languages also differ in how they communicate with the computer structure, some are compiled and other are interpreted. A compiled language is a programming language which use a compiler (translator program) to generate machine code from source code. The source code is compiled before it is run. Interpreted language uses an interpreter (step-by-step executor program) to generate machine code from source code during the running of the written code. Each type has its advantages and disadvantages.
Among the most popular languages are:
1- Python: an interpreted, high-level and general-purpose programming language