What happens when we define a function in Python? The “def” keyword does two things: It creates a function object, and then assigns a variable (our function name) to that function object. So when I say: def foo(): return “I’m foo!” Python creates a new function object. Inside of that object, we can see…
Nearly every day, I teach a course in Python. And nearly every day, I thus use the Jupyter notebook: I do my live-coding demos in it, answer students’ questions using it, and also send it to my students at the end of the day, so that they can review my code without having to type…
Here’s a short Python puzzle that I use in many of my on-site courses, which I have found to be useful and instructive: Given the following short snippet of Python, which letters will be printed, and in which order? print(“A”) class Person(object): print(“B”) def __init__(self, name): print(“C”) self.name = name …
Data science is changing our lives in dramatic ways, and just about every company out there wants to take advantage of the insights that we can gain from analyzing our data — and then making predictions based on that analysis. Python is a leading language (and some would say the leading language) for data scientists.…
[thrive_leads id=’1573′] Just about every day of every week, I teach Python. I teach not only in Israel, but also in Europe, China, and the US. While I do teach newcomers to programming, the overwhelming majority of my students are experienced developers in another language — most often C, C++, Java, or C#. For many…
A few days ago, well-known author and developer Zed Shaw wrote a blog post, “The Case Against Python 3.” I have a huge amount of respect for Zed’s work, and his book (Learn Python the Hard Way) is one whose approach is similar to mine — so much so, that I often tell people who…
I love Python’s “zip” function. I’m not sure just what it is about zip that I enjoy, but I have often found it to be quite useful. Before I describe what “zip” does, let me first show you an example: >>> s = ‘abc’ >>> t = (10, 20, 30) >>> zip(s,t) [(‘a’, 10), (‘b’,…
I’m in Shanghai, and before I left to teach this morning, I decided to check the weather. I knew that it would be hot, but I wanted to double-check that it wasn’t going to rain — a rarity during Israeli summers, but not too unusual in Shanghai. I entered “shanghai weather” into DuckDuckGo, and got…
As many people know, one of the mantras of the Python programming language is, “There should be one, and only one, way to do it.” (Use “import this” in your Python interactive shell to see the full list.) However, there are often times when you could accomplish something in any of several ways. In such…
The last Webinar I did, with Q&A about regular expressions, was great fun — so much, that I’ve decided to do another one. So, if you have questions (big or little) about regular expressions in Python, Ruby, JavaScript, and/or PostgreSQL, sign up for this free Webinar on Monday, April 11th: https://www.crowdcast.io/e/regexpqa2 If you already have…