Join us and get access to hundreds of tutorials and a community of expert Pythonistas.

Unlock This Lesson

This lesson is for members only. Join us and get access to hundreds of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Hint: You can adjust the default video playback speed in your account settings.
Hint: You can set the default subtitles language in your account settings.
Sorry! Looks like there’s an issue with video playback 🙁 This might be due to a temporary outage or because of a configuration issue with your browser. Please see our video player troubleshooting guide to resolve the issue.

Cool New Features in Python 3.8: Summary

Congratulations on completing this course! With everything you’ve learned, should you upgrade to Python 3.8?

Let’s start with the simpler answer. If you want to try out any of the new features you have seen here, then you do need to be able to use Python 3.8. Tools like pyenv and Anaconda make it easy to have several versions of Python installed side by side. Alternatively, you can run the official Python 3.8 Docker container. There is no downside to trying out Python 3.8 for yourself.

Now, for the more complicated questions. Should you upgrade your production environment to Python 3.8? Should you make your own project dependent on Python 3.8 to take advantage of the new features?

You should have very few issues running Python 3.7 code in Python 3.8. Upgrading your environment to run Python 3.8 is therefore quite safe, and you would be able to take advantage of the optimizations made in the new version. Different beta-versions of Python 3.8 have already been available for months, so hopefully most bugs are already squashed. However, if you want to be conservative, you might hold out until the first maintenance release (Python 3.8.1) is available.

Once you’ve upgraded your environment, you can start to experiment with features that are only in Python 3.8, such as assignment expressions and positional-only arguments. However, you should be conscious about whether other people depend on your code, as this will force them to upgrade their environment as well. Popular libraries will probably mostly support at least Python 3.6 for quite a while longer.

See Porting to Python 3.8 for more information about preparing your code for Python 3.8.

To download the code in this course, click the link below:

Download

Sample Code (.zip)

11.4 KB

To download the slides in this course, click the link below:

Download

Course Slides (PDF)

989.8 KB

Marco Belo on Nov. 6, 2019

Cool, I do use a lot that print f"variable={variable}" to log what is happening, the new feature will sure help me.

celalaksu on Nov. 29, 2019

Thanks for the course :) It’s very useful to learn new features

hreves on Nov. 29, 2019

I am just learning Python and want to start with the latest version. I have been using version 3.7. So this was very helpful to me.

batronix on Nov. 30, 2019

Thank you for giving me this course to know the new features in Python 3.8

jojcarter50 on Nov. 30, 2019

Thanks for the course!

Jos Manuel Domnguez Romero on Dec. 1, 2019

Thank you very much for the course :)

excelsofts on Dec. 2, 2019

Cool, Thanks for the course!

Sneha Ram on Dec. 3, 2019

Thank you very much for the course :)

Luke Chen on Dec. 6, 2019

Thanks, it’s a wonderful course. I’m curious what vscode plugin you used to get those code prompts poped up while typing code on the terminal.

Chris Bailey RP Team on Dec. 6, 2019

Thanks Luke Chen, The tool I’m using in the terminal is a REPL replacement called Bpython. In that link it shows the “easy install” which is usually (python3 -m pip install bpython), but it may require a build library, I just re-installed my OS on my Mac and it required I update some xcode libraries, but it showed the link at that point. This is for it to compile bpython. Here is a video from Dan Bader on it.

Darryl R on Dec. 15, 2019

Very well done and thorough! Thanks!

Neeraj on Dec. 17, 2019

Thanks for the course. It was precise and to the point.

Mohamed Anis MANI on March 27, 2020

Thanks, the course was concise and clear!

johnbarney772 on March 27, 2020

thank you

utsun2015 on March 29, 2020

Thanks a lot.Great stuff.

ibrahim suleiman on March 29, 2020

nice of you guys thank you very very much

Paal Pedersen on April 2, 2020

Thanks alot! Very Nice Course. Lots of things I missed!

Prabhath Kota on May 3, 2020

Thanks for the article. Good to know debugging with fstrings in 3.8 & optimizations

DanielHao5 on May 9, 2020

Great intro to the new 3.8.

Wonder what’s the name of the cool REPL in all code demo? and where to get it?

Thanks. Daniel

Chris Bailey RP Team on May 12, 2020

Hi @DanielHao5,

The REPL tool is called bpython, I have links to more info on it below the second lesson. realpython.com/lessons/assignment-expressions/

negibson1 on May 13, 2020

Good overview. I am new to Python with 3.8. I enjoyed the review and learned some new things I will check into later: i.e., positional only arguments and walrus operator. Thanks.

zyxtech on May 13, 2020

Thanks for the course!

Marcelo Garbarino on June 5, 2020

Thank you for this course!

Become a Member to join the conversation.