Mastering Python The Right Way.
Tags: python, 100daysofcode, codenewbie, git
Published: 2022-03-03 13:19:47

**Python the right way?**

I do get the confusion when you hear "Right Way", you seem to have been learning the wrong way 😅😅😅😅. Relax grab a chair and be comfortable because am going to take you to a tour on  advance level in python just an overview.

Before we get deeper, check out the articles:

1. [Introduction to modern Python.](https://dev.to/oderofrancis/introduction-to-modern-python-95n)
2. [The Django way](https://dev.to/oderofrancis/the-django-way--215a)
3. [Python Django web framework.](https://dev.to/oderofrancis/python-django-web-framework-3fh9)
4. [Introduction to data structures with Modern Python.](https://dev.to/oderofrancis/introduction-to-data-structures-and-algorithms-with-modern-python-5cg9)

**What is Python?**

I know you know about Python snake but here we are all about Python programming Language.
Python is a computer programming language that is used to build websites and software, perform data analysis and automate tasks.

What is Python used for?

Python is commonly used :

1. Web Development
2. Artificial Intelligence(AI) & Machine Learning
3. Data Science
4. Game development
5. Desktop GUI Development
6. Automation or scripting
7. Android applications

**1. Web development.**

Python is frequently used to create a website's or application's back end;the elements that the user doesn't see. Sending data to and from servers, processing data and interfacing with databases, URL routing, and ensuring security are all examples of Python's role in web development. Python has a number of web development frameworks. Django and Flask are two popular ones, there is APIs which is upcoming a greater speed.

Back end engineers, full stack engineers, Python developers, software engineers, and DevOps engineers are some of the web development positions that require Python.

Python web framework used:

- Django.
- Flask.
- Python API.
- CherryPy.
- Pyramid.
- Bottle.


**2.Artificial Intelligence(AI) & Machine Learning**

Artificial intelligence,refers to the ability of robots to demonstrate intellect as opposed to human intelligence.

Python has a standard library in the development, as well as a few AI libraries. It offers a simple control flow and data structures, as well as a straightforward syntax. It also allows for interpretative run-time without the use of standard compiler languages.This makes Python especially useful for prototyping algorithms for AI.

Machine Learning is making the computer learn from studying data and statistics. Machine Learning is a step into the direction of artificial intelligence.
Python is used in machine language due to its simple syntax, the development of applications with Python is fast when compared to many programming languages. Furthermore, it allows the developer to test algorithms without implementing them. Readable code is also vital for collaborative coding. Many individuals can work together on a complex project.

Python libraries used:

- Numpy.
- Scipy.
- Scikit-learn.
- Theano.
- TensorFlow.
- Keras.
- PyTorch.
- Pandas.


**3.Data Science.**

Python has become a staple in data science, allowing data analysts and other professionals to use the language to conduct complex statistical calculations, create data visualizations, build machine learning algorithms, manipulate and analyze data, and complete other data-related tasks.

Python can build a wide range of different data visualizations, like line and bar graphs, pie charts, histograms, and 3D plots. Python also has a number of libraries that enable coders to write programs for data analysis and machine learning more quickly and efficiently, like TensorFlow and Keras.

Python modules used:

- TensorFlow.
- NumPy.
- SciPy.
- Pandas.
- Matplotlib.
- Keras.
- SciKit-Learn.
- PyTorch.
- seaborn.

**4. Game development**

Python provides a built-in library called pygame, which used to develop the game.We can utilize the pygame package to create games with appealing images, appropriate animation, and sound. Pygame is a cross-platform library that is used to design video games. Good examples are :
 Battlefield 2 uses Python for all of its add-ons and a lot of its functionality. 
Disney's Toontown Online is written in Python and uses Panda3D for graphics. 
Eve Online uses Stackless Python. Mount & Blade is written in Python.
The Temple of Elemental Evil, a computer role-playing game based on the classic Greyhawk Dungeons & Dragons campaign setting.
Unity of Command (video game) is an operational-level wargame about the 1942–43 Stalingrad Campaign on the Eastern Front.

Python libraries used:

- Pygame.
- PyKyra.
- Pyglet.
- PyOpenGL.
- Kivy.
- Panda3D.
- Cocos2d.
- Python-Ogre.
- Ren’Py.

**5. Desktop GUI Development**

Python has been successful in a wide variety of use cases. But few understand and appreciate its abilities in creating graphical user interfaces (GUI.) Indeed we have a handful of extraordinary python GUI frameworks that helps developers quickly put up an interface to interact with their project.
Think about TKinter which most know it but let's check other libraries used for GUI.

Python libraries used:

- Tkinter.
- Plotly Dash.
- PyGUI.
- Kivy.
- Plotly Dash.
- PyQt5.
- WxPython.


**6. Automation or scripting.**

If you find yourself performing a task over and over again, you could work more efficiently by automating it with Python. Writing code used to build these automated processes is called scripting. In the coding world, automation can be used to check for errors across multiple files, convert files, execute simple math, and remove duplicates in data.
Python can even be used by relative beginners to automate simple tasks on the computer;such as renaming files,calculating exchange rates,performing quick math equations,sending HTTP requests,converting image files, finding and downloading online content or sending emails or texts at desired intervals.

Python libraries used:

- Robot Framework.
- PyTest.
- Splinter.
- Selenium. 
- Behave.
- Pywinauto.
- Automagica.
- Beautiful Soup.
- PDFMiner.
- Locust framework.


**7. Android applications**

While it is possible to develop Android apps in Python, it will not be as effective or reliable as Android app development in Java. As we all know, Google declared Java to be the official language for Android. Java for Android is the de facto standard for Android, and other languages we utilize may not be up to snuff.Python has some concern in android development such as :

1. Other frameworks might not be able to support all of the features of the Android OS.
2. It is not always possible to utilize one's own tools.
3. These programs may not be very fast because they create native code first and then optimize it with native compilers.
4. It is possible that high-level graphics will not be supported at all times.
5. The program you'll create will operate flawlessly on your local desktop, but the animations won't be as smooth on Android. It's also slow because it's still running as a Python instance.

Python libraries used:

- Kivy.
- Beeware.
- SL4A (Scripting Layer for Android).
- Pyqtdeploy.
- Chaquopy.

**Conclusion.**

I hope for know you know the area of interest you need to venture in. Remember never there is no python library that is better than the other only that the have different speciality.
Ferrari is fast but can't carry bulk goods and a tractor can carry bulk goods but isn't fast.

Be a problem solver.

"If you can write "hello world" you can change the world" 
              - Raghu Venkatesh