Has Python ever tricked you?
At the beginning of my Python journey, I remember crossing paths with these beasts called list comprehensions. They allow you to append items to a list by looping through your code using one line. They are also considerably faster than using a traditional for loop.
After scouring the internet, Python 101, a book by Michael Driscoll, popped up in the search results.
The book teaches you the basics of Python, even without programming experience.
After reading the chapter on list comprehensions, things started to make sense. I have read this book twice, cover to cover.
Upon graduating from Python 101, I read his Python 201: Intermediate Python.
His books helped me improve tremendously as a Python developer, and I'm very excited to pick his brain.
Me: What name do people call you?
Mike Driscoll: Mike
Me: What is your profession?
Mike Driscoll: I am a software engineer. Internally, I am known as the Automated Test Engineer / Python subject matter expert.
Me: Where do you currently work?
Mike Driscoll: Ag Leader Technology
Me: Can you share more about the books you have authored and how they might help budding or more experienced Pythonistas?
Mike Driscoll: I have authored nine books on Python as well as a tenth book nearly finished. Python 101 is my beginner book and helps the reader get up to speed on Python. It also covers topics not covered in other beginner books, such as distributing your code on PyPI or as a binary.
I have a popular book on the basics of Jupyter Notebook. If you are just getting started with Jupyter, you might like that book.
I also have a book called ReportLab: PDF Processing with Python that helps you create PDFs and process PDFs in various ways. This Spring, I released Pillow: Image Processing with Python, which teaches you how to use Pillow to edit your photos and much more besides.
Me: What inspired you to become an author?
Mike Driscoll: I blog at https://www.blog.pythonlibrary.org/. Several years ago, my readers and people from the wxPython users' group told me to write a book. I think it was mainly wxPython people at that time as they wanted more books on the topic.
Because of their encouragement and the popularity of my first book, Python 101, I decided to continue writing books on Python.
Me: How old were you when you started coding?
Mike Driscoll: I didn’t start coding until college. At 18, I wrote my first piece of code in C++ or Visual Basic 6.
Me: Why did you choose the Python coding language?
Mike Driscoll: I was hired as a Software Applications Specialist in an IT department. The job was to convert our login scripts from Kixtart to Python. Then to move on and convert all our VBA code to Python. The idea was to try to get as much in Python as possible.
I had never heard of Python before that job. My boss loved Python and was very encouraging. The Python community, especially the wxPython sub-group, was welcoming and helpful. Besides that, Python was the first language that made sense to me.
I could program in other languages, but because of Python’s beautiful syntax and introspection, I felt like I could do anything with it.
Me: Can you share what contributions you’ve made for the RealPython.com community?
Mike Driscoll: I started at Real Python as an author and wrote several articles. They invited me onto the technical reviewer team after the first couple of articles, where I did a lot of article reviews.
Currently, I mostly hang out in the Real Python slack and help answer questions.
I have some new article ideas that I want to write and would like to find the time to get them going.
Me: What exciting Python trends are coming our way that excites you?
Mike Driscoll: I recently saw a survey from one of the Python core developers that they are thinking about making packaging easier in Python. That would be great if it happens.
In Python 3.10, they're adding structural pattern matching, which gives you the ability to use a case statement in Python. It’s more complicated than that, but that looks neat.
The computer vision libraries and other machine learning libraries that keep getting updated or created are cool. I am excited to see how that progresses.
Me: What are your favorite Python libraries? Why are they your favorites?
Mike Driscoll: That’s a bit of a toss-up. I enjoy using Python’s built-in libraries, so os, sys, logging, etc. I find that I can get almost anything I want using those.
Outside of the built-in libraries, I like wxPython for creating GUIs. It looks native on all platforms and has pretty much any widget you would need.
I also enjoy ReportLab, which is for creating PDFs with Python.
It's very powerful, and I like the output it creates.
Me: Which feature(s) do you wish Python will include soon?
Mike Driscoll: Mobile. There are the Kivy and Toga packages. Kivy doesn’t look native, and Toga is still in alpha. You can do Tkinter on mobile to some degree as well, but there isn’t a good solution for mobile with Python.
Me: Guido van Rossum walks into a room, so what do you say? Have you met him before?
Mike Driscoll: I would thank him for Python. I took a photo with him a couple of years ago but didn’t get to talk to him much. I’d like to someday.
Me: Have you ever worked with open source software? If so, what types of projects? How did it benefit you?
Mike Driscoll: I have worked with open source. I don’t contribute regularly, but I have submitted documentation fixes to Python and Beeware. I also contributed to the official wxPython Cookbook, which is part of their online documentation.
I like giving back to the communities that have helped me. If I can make the documentation easier to understand, more people will use it, and hopefully, they will contribute back too!
Me: Here at Vonage, we build lots of APIs including, Messaging and SMS, Voice, Video, etc. To what extent have you worked with APIs?
Mike Driscoll: In my day-to-day work, I rarely work with APIs. However, I have accessed APIs with Python in previous roles as well as my blog articles. That is one area where I would like to have more practice.
Me: What are some of your hobbies and interests outside of coding and writing?
Mike Driscoll: I enjoy doing photography. I’m not a professional by any means, but I’ve practiced some and been able to get some pretty good shots over the years.
I enjoy music and have a pretty extensive collection. The genres of music that I like are pretty wide-ranging. From techno to metal, hard rock to pop, and a dash of Oldies (the 50s-70s) and Classical thrown in for good measure.
Me: Where can people connect with you when they want to reach out?
Mike Driscoll: Most of my written content is on my blog, Mouse vs. Python (https://www.blog.pythonlibrary.org/)
I’m also active on Twitter, sharing Python tips: https://twitter.com/driscollis.
I have a Python-related YouTube channel as well: https://www.youtube.com/c/MouseVsPython.
If you’re struggling with Python or want to improve your skillset, I recommend following Mike on social media. I learn something new about Python every day by following him on Twitter! He recently did a thread about Python lambda functions as well as other features.
Lastly, thank you, Mike, for taking the time to chat with me! You continue to inspire me and others in the Python community!
Let us know how you liked this post by Tweeting us here!