[Part 1]Python 101! Introduction to Python Programming
Tags: python, programming, beginners, codenewbie
Published: 2021-07-23 13:24:21

<img src = "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTTfG28qRDGDaGagZcjlyp7w1z0yModX-uzBQ&usqp=CAU">
<hr/>
#Introduction to Python
Python is currently the most popular programming language in the tech world.Ranked among top 5 .
##What makes Python Popular ?
For simplicity purpose, I will list some notable features of python that makes it popular:
<ol>
<li>Ease of learning</li>
<li>Open-source</li>
<li>high-level language</li>
<li>object-oriented and functional</li>
<li>Interpreted</li>
<li>Rich libraries</li>
</ol>
This can be attributed to its high <a href="https://en.wikipedia.org/wiki/Abstraction_(computer_science)">abstraction</a> level and its application in various fields.Briefly, below a various application of python :
<ol>
<li>Data Science</li>
<li> Automation </li>
<li> Web development</li>
<li> Artificial Intelligence and Machine Learning </li>
<li>Game Development </li>
<li> Software Development</li>
</ol>
<hr/>
Self-paced learning curriculum for zero-experienced programmer:
<ol>
<li>Tools to get started</li>
    <ul>
        <li>Integrated Development Environment(I.D.E):The    purpose of these environment is write and run your code.There are quite a number of I.D.Es , I would highly recommend Visual Studio code.<a href="https://code.visualstudio.com/">Download it</a>    </li>
<li>Python 3+ :Download <a href="https://www.python.org/downloads/"> python</a>, I will highly recommend you get version 3.6 in consideration to your Operating System
 </li>
<li> Github : Github is a version  control system that make  coding efficient, through collaboration and tracking changes in your code.As a beginner, you need to <a href="https://github.com/join">SignUp</a> on Github.To track changes locally,for absolute beginners,<a href="https://desktop.github.com/">download</a> Github Desktop(Windows Users) or <a href="https://git-scm.com/downloads">Git Bash</a>To learn more on git commands check out<a href="https://git-scm.com/downloads"> Git cheat sheet</a> </li>
</ul>
<hr/>
2.Python Fundamentals
Basically, you should focus on the following:
<ul>
<li>
Syntax – a syntax can be simply be defined as rules that define the structure of a programming language
</li>
<li>Read the <a href="https://www.python.org/dev/peps/pep-0008/">PEP 8 </a>Rules: Basically , the document will give you coding conventions for the Python code.I would advise you to keep updated on the rules as the keep on evolving</li>
<li>
Variables – it is a label that you can assign a value to it. And a variable always associates with a value.Example:
</li>

<li>
```Python
  welcome = 'Hello, World!'
  print(welcome)
```
</li>
where message is the variable.While naming your variables , it is important to note the following <a href="https://www.pythontutorial.net/python-basics/python-variables/">Rules</a>
</p>
<li>
Strings – these are series of  characters usually enclosed with single quotes and double quotes.From example below 'Hello ,world!' is a string.Additionally,numbers also can be string as long as they are enclosed in the quotes.
<li>
```Python
   welcome = 'Hello, World!'
   jant ='1234'
   print(welcome)
```
</li>
Note: As you learn about strings , there a various string operations that you need to understand.I will list a few:
<p>** capitalize()- returns a string where the first character is upper case.Check out this example <a href="https://colab.research.google.com/drive/11SKC9J60vRNKMbqXCm7XvO1QlHAL-eMK">Google Collab</a> </p>
** count() - Returns the number of times a specified value occurs in a string. Check <a href="https://colab.research.google.com/drive/11SKC9J60vRNKMbqXCm7XvO1QlHAL-eMK#scrollTo=qm2h7uIYsxx6">Google Collab</a>
** endwith()-Returns true if the string ends with the specified value
** isnumeric() - Returns True if all characters in the string are numeric
** replace() - Returns a string where a specified value is replaced with a specified value
String methods will improve your productivity as you build you embark on the journey to become Python Ninja.As I may not go through all the existing methods <a href="https://www.w3schools.com/python/python_ref_string.asp">Read more</a>
</li>
<li>
Constants – show you how to define constants in Python.
</li>
<li>
Comments – learn to give short description of what the code does.comments can be classified into:
<p> * Single line comment;written by placing '#' before the line e.g #the line declares a variable</p>
<p>* Multiple line comment: conventionally,Python does not really have a syntax for multi line comments.Although you can opt to use '#' on every line you wish to comment or use tripple-double quotes at the opening and closing of the comment  </p>
</li>
<li>Data Types:In python variables can be stored in various forms which in turn can be manipulated differently.
<p>* Numbers: Examples. Integers; 5,-4,99999 <br/> Float;7.5,2e10(scientific notation).<br/> complex numbers; 2 + 3j <br/> Boolean;True , false</p>
<p>* Strings </p>
<p>* List </p>
<p>* Tuple </p>
<p>* Dictionaries </p>
</li>
<li>Data structures - used to store,organize and managing data efficiently.As a beginner, focus more on the built-in Data Structures. They are the building foundation for User-defined data structures
 <p><img src="https://www.edureka.co/blog/wp-content/uploads/2019/10/TreeStructure-Data-Structures-in-Python-Edureka1.png"></p>
</li>
<li>Functions:Simply , a function is a collection of organized  and reusable code used to perform a task.They make coding easy and fast,and build basics of object oriented programming.In python a function is defined as <a href="https://colab.research.google.com/drive/11SKC9J60vRNKMbqXCm7XvO1QlHAL-eMK#scrollTo=_0T4QjUVHMyz">refer here</a>.Functions can be classified into two:User defined e.g <a href="https://colab.research.google.com/drive/11SKC9J60vRNKMbqXCm7XvO1QlHAL- eMK#scrollTo=_0T4QjUVHMyz">Here</a> or Built-in functions e.g    Print()</li>
<hr/>
3.Object-oriented programming
<p>Object-oriented programming is a<a href="https://en.wikipedia.org/wiki/Programming_paradigm">programming paradigm </a>that provides a means of structuring programs so that properties and behaviors are bundled into individual objects.Basic,entities are defined as object
At this level,you will focus on creating classes and principles of object-oriented programming:<a href="https://www.holbertonschool.com/coding-concept-what-is-object-oriented-programming">Encapsulation, Abstraction,Polymorphism,Inheritance</a>
</p>
<hr/>
<p>At this level,you are ready to focus on your niche,as indicated above.As you learn ,always refer to <a href="https://docs.python.org/3/tutorial/">Python Documentation</a>for detailed understanding</p>