Recently, I had a altercation on Reddit about why addition would opt to use Python over other programming languages. The altercation was pretty good and thus I anticipation about autograph a post about it.

First of all, let me give you my thoughts on Python. This is a programming language I love and it can be used in a wide array of applications, though I agree that languages have their falls. I do accept it’s a great accent for professionals to use, and also for beginners to enter the alluring world of programming.

With that said, would I use Python on every single project? Probably not. But there are some areas where Python excels, and I want to highlight those, and explain why.

  • API Development
  • Data Science / AI
  • Scripting

Now, let’s review them in detail.

API Development

There are some accomplished frameworks for API development with Python and, among those, these are the two favorites among the development community: Django and Flask (on Flask I wrote an commodity on why I like it so much and a base activity to set up your APIs. Check it out here).

The chat around API development went anon into the administration of web frameworks. Why? Well… I don’t accept that you should write your own web server or framework when you want to focus on autograph the code for your API.

Some people also argue the use of Python for web development, though I don’t like to use those frameworks for the front-end part, and I prefer to build front-ends using React, VueJS, or Ember.

If you are accepting started with API development in Python, is likely you will end up using either Django or Flask. So you may ask, which one of the two should I use?

Django VS Flask

Both of these frameworks are great and will work for most situations. However, they follow altered philosophies. Some people like one more than the other, and there are good affidavit on both sides. Since both of these frameworks are so altered in essence, I’ll only give you the high-level adverse amid the two, but you should absolutely read more about them before chief which is the best for you and your project.

Philosophies:

  • Flask is a minimalistic framework. It provides simplicity, flexibility, and aerial control. It is very unopinionated (you can do whatever you want with it).
  • Django, on the contrary, is an all-embracing framework. You can get libraries, admin panel, db interfaces, ORM, and even a solid agenda anatomy for your apps out of the box.

If you want to learn more about this, here is an absorbing commodity I found: https://testdriven.io/blog/django-vs-flask/.

Data Science / AI

Any time you want to work with data, from scraping, data analysis, visualization, apparatus acquirements , or AI, Python will be your best friend. There are a number of important libraries for each one of these tasks, and they are great libraries, highly used in analysis and assembly environments.

I’ll not go into capacity of the libraries, but I want to acknowledgment a few: Pandas, Numpy, Matplotlib, Seaborn, Tensorflow, Pytorch, scikit-learn, Keras, NLTK, OpenCV.

Thanks to these libraries, you can build production-ready projects in almost any Data Science or AI topics. Though there are some drawbacks of using Python for some of these applications (such as performance), for many situations it will make for a great selection.

What kind of projects are we talking about?

There are many applications of python for data science and AI in general. I’ll acknowledgment here a few common projects for which Python is used for:

  • Time series analysis
  • Sales predictions
  • Language processing
  • Sentiment analysis
  • Recommendation systems (like music, videos, etc)
  • Classification
  • Computer vision
  • Self-driving cars

Scripting

Scripting usually refers to small programs (usually accomplished through command line) that are advised to automate simple tasks.

Let me give you a few examples of scripts I wrote myself to automate parts of my day to day workflows:

  • My blog: I use Evernote to aggregate aggregate I see on the web, and also write my posts. But when it’s time to publish, I take those notes and upload them into my blog as drafts. This action happens automatically on Python: whenever I marked a note as “ready to be published,” I run a python script that will copy the note, format, and draft into my blog system. Of course, there’s always article I need to manually fix before I can absolutely broadcast (mostly due to Evernote weird HTML? output).
  • Backups: I like to make backups of my things in the cloud, but I also keep a copy in an alien hard drive. I usually encrypt all that goes to the cloud (with the barring of Evernote, which doesn’t allow me). But when I make my backups into the drives, I use drive encryption, and I don’t want to have it double encrypted. When I want to backup data into my drive, I run a python script that will break the data and then move it to the drive.

Conclusion

Python is a very able programming accent and thanks to its association and libraries you can pretty much do annihilation you want with it, though sometimes you shouldn’t. There’s no one accent to rule them all: they all have advantages and disadvantages, and Python is no exception.

With that said, I do accept Python is great, and if you are analytical you can build from games to anchored systems. Probably, those cases won’t be production-ready projects, but I may be wrong. If so, please let me know, because I’d like to hear about it.

Read next: Papumba is a preschool acquirements app that really gets kids ready for school

Celebrate Pride 2020 with us this month!