Python Monthly 💻🐍 February 2021

Andrei Neagoie

Andrei Neagoie

15th issue! If you missed the previous ones, you can read the previous issues of my monthly Python newsletter here.

If it’s your first time here… (otherwise, skip this part)

Being a Python developer is a fantastic career option. Python is now the most popular language with lots of growing job demand (especially in the fields of Web, Data Science and Machine Learning). You have many job opportunities, you can work around the world, and you get to solve hard problems.

One thing that is hard, however, is staying up to date with the constantly evolving ecosystem. You want to be a top-performing python developer, coder, programmer, software developer, but you don’t have time to select from hundreds of articles, videos and podcasts each day.

This is the best Python newsletter for you if you want to keep up to date with the industry and keep your skills sharp, without wasting your valuable time.

I curate and share the most important articles, news, resources, podcasts and videos of the month.

Think Tim Ferriss and the Pareto Principle (80/20 rule) meeting the Python world. What’s the 20% that will get you 80% of the results?

If you want to be the first to get next month's issue of Python Monthly and receive other exclusive ZTM content once in a while, subscribe below 👇

Let's dive in. Here's what you missed in February 2021 as a Python Developer…

Python Dilemma ⚖️

This was an interesting article. Python has become the most popular language in the world because it is so beginner friendly. However, as more and more people use it, the need to include more advanced features grows as well. This is a challenge that all technical projects face as time passes and they grow.

Weekend Project Idea 🎏

Rich is a python tool that allows you to beautify CLIs. This weekend, spend some time making all of your CLIs beautiful so you look like you are doing important work at your home or coffee shop or when your boss walks behind you (you know, once people go back to offices of course).

Constant Folding In Python 🧬

Every programming language aims to be performant in its niche and achieving superior performance requires a lot of compiler level optimizations. One famous optimization technique is Constant Folding where during compile time the engine tries to recognize constant expressions, evaluate them, and replaces the expression with this newly evaluated value, making the runtime leaner. Learn all about it in this tutorial.

Python Integers 🥇

Integers require no introduction. They are so ubiquitous and seem so basic that you may doubt whether it's worth discussing how they are implemented at all. Yet, Python integers are interesting because they are not just 32-bit or 64-bit integers that CPUs work with natively. Python integers are arbitrary-precision integers, also known as bignums. No idea what any of that means? Read all about integers here.

Pyston vs CPython ⚾️ 🥎

Pyston 2.1 Is Blowing Past Python 3.8/3.9 Performance. With this past week's release of Pyston 2.1 as an alternative Python interpreter I was curious to see how the performance compared to that of upstream Python... So here are some weekend benchmarks with a Ryzen 9 5900X system.

WTF Python 🤸‍♀️

Python, being a beautifully designed high-level and interpreter-based programming language, provides us with many features for the programmer's comfort. But sometimes, the outcomes of a Python snippet may not seem obvious at first sight.

Here's a fun project attempting to explain what exactly is happening under the hood for some counter-intuitive snippets and lesser-known features in Python.

Google Sponsors Python 💰

Google has become a visionary sponsor for the Python Software Foundation. You do that by donating a lot of money. Nice to see the support!

Pattern Matching in Python 🎲

The Python steering council has, after some discussion, accepted the controversial proposal to add a pattern-matching primitive to the language. The pattern matching process takes as input a pattern (following case) and a subject value (following match). Learn all about it here.

Python Strings Are Immutable 💡

Each time you make a change to a string variable, you are actually producing a brand new string. Because of this, tutorials out there warn you to avoid string concatenation inside a loop and advise using join instead for performance reasons. Even the official documentation says so!

This is wrong. Sort of.

There is a common case for when strings in Python are actually mutable.

Once you are confused by that one, read this.

Data Analysis Trick 📈

A great strategy to use when faced with a tricky data analysis problem is to reshape the dataset into a format that turns it into an easy problem. In this article we will look at an example involving a simple calculation and extensive reshaping. Here is a walkthrough of how to do it.

Python Microservices With gRPC 🏭

Microservices are a way to organize complex software systems. Instead of putting all your code into one app, you break your app into microservices that are deployed independently and communicate with each other. This tutorial teaches you how to get up and running with Python microservices using gRPC, one of the most popular frameworks.

Do Benchmarks Matter? 🪤

I highly recommend this read. The summary? If your python service is receiving 100,000 requests a second, it's likely that the specific Python framework you use is not going to be the bottleneck. Especially if your API is stateless and you can scale it via Kubernetes or similar. At that point, a good database, with decent schema design and good architecture are going to matter far more. Having said that, if you do want more processing power, use PyPy... just don't worry about the web frameworks you use.

Concurrency With Python 🚿

An exploration of threads, processes, and coroutines in Python, with interesting examples that illuminate the differences between each. Enjoy!

Quick Tip 🛎

You should probably keep your pip up to date. Here is why.

News Around the World 🗺

Big Tech News 🏢

Completely useless to your career but still great 🙃

  • 20% of requests for Wikimedia Commons are for one image of a flower. Why?
  • China between 1910-1920 (Beijing - Peking).
  • Waste away 1h and 30min while watching the earth.
  • Apparently this is made with an array of 10 images going in a loop.
  • Waste away hours playing with this one. See what happens when you draw a toothpick.

Best Resource of the Month 🥽

When the legend, Martin Fowler speaks, we all must listen. For those that don't know, Martin has been around for a while and is one of the most respected programmers you will ever meet. His writings have had tremendous impact on the industry and his latest article gives a great insight into how smart people feel about Monolith vs Microservices. Follow his advice, and you won't be led astray.

If you're not sure what Monoliths, Microservices and Modules are, then you should read this first.

Trick of the Month 🎩

See you next month everyone!

If you haven't already, subscribe below to receive the best monthly Python Newsletter (not biased at all) next month along with exclusive ZTM posts and offers. If you're already subscribed, please share it with someone (use those little widgets on the left) who might find it useful, they'll love you and so will we!

By the way, I teach people how to code and get hired in the most efficient way possible as the Lead Instructor of Zero To Mastery Academy. You can see a few of my courses below or see all ZTM courses here.

More from Zero To Mastery

Don't be a Junior Developer

Don’t sell yourself short. Seriously, don’t be a Junior Developer. A Junior Deve...

Learn to code (for free) in 2021, g...

I've taught 400,000 of students how to code over the past 3 years. Many of them ...

Machine Learning Monthly 💻🤖 Febr...

14th issue of Machine Learning Monthly! Keeping you up to date with the Machine ...