Category Archives: Python

[Video 210] Andrea Crotti: Metaprogramming, from decorators to macros

Metaprogramming is a powerful technique in which we write code that then writes code. What tools does Python provide for metaprogramming? And how/when should we use such techniques?  In this talk, Andrea Crotti walks us through metaprogramming in Python, showing such techniques as decorators and metaclasses.  If you’re an intermediate Python developer looking to improve your code, this talk should give you many new ideas.

[Video 208] Anton Caceres: Asynchronous Web Development with Python 3

Python 3 has been out for a while, but many companies haven’t yet found a compelling reason to move from Python 2. One feature which has been getting a growing amount of attention, and which is encouraging people to move to Python 3, is asyncio — a part of the standard library as of Python 3.4, which allows for asynchronous I/O.  But what does “asynchronous I/O” mean, how does it relate to Python, and why would I want to use it?  Moreover, how can I use it?  In this talk, Anton Caceres introduces us to asynchronous Web development in Python, which is based on Python’s generators, and which offers a new way to think about Web applications.

[Video 195] Jim Baker: Getting to Jython 2.7 and beyond

Jython is a version of Python that runs on the JVM. The Jython project recently celebrated release 2.7, which is compatible with Python 2.7. What are the aims of the Jython project, and who uses it? What obstacles did the Jython developers have to deal with on the way to this release? And what new features does the new version include? In this talk, Jython committer Jim Baker helps to answer these questions, describing how Jython is good for the Python and Java development communities.

[Video 187] Kyle Kastner: Machine Learning 101

Machine learning” sounds like the basis for a new (and possibly bad) science fiction movie. But in fact, it’s the idea that we can ask the computer to identify patterns in large data sets — patterns that we would otherwise miss. Now, machine learning isn’t new, but it has become increasingly important, given the rise of big data, and the need for businesses to understand their customers better. Python has become an increasingly popular tool for implementing machine learning, thanks in part to scikit-learn, a Python package built on top of NumPy and SciPy.  In this talk, Kyle Kastner introduces scikit-learn, and describes what we can do it with, as well as how to do so.

 

[Video 186] Allison Kaptur: Bytes in the Machine — Inside the CPython interpreter

What happens when you execute a line of Python code? Experienced Python developers know that it’s turned into bytecodes, which are then executed. But how does that happen, and how can we describe the process? In this talk, Allison Kaptur goes through the workings of the Python virtual machine, describing byte codes and the ways in which they’re used. If you’re a Python developer, then this is likely going to reveal a great deal of useful under-the-hood information that can help to inform your development work.

[Video 181] Amy Hanlon: Investigating Python Wats

Every programming language has its surprises and dark corners. Even Python, which prides itself on regular syntax and consistent behavior, has them. This talk, by Amy Hanlon, not only points to some of Python’s odder behaviors, but explains why these things happen. The talk is both funny and interesting, and helps us to understand how programming languages are implemented, not just used. The talk’s title refers to Gary Bernhardt’s famous “Wat” talk, in which he points to oddities in Ruby and JavaScript.

 

[Video 178] Guido van Rossum: Type Hints

Since it was first introduced in 1992, Python has been a dynamically typed language. In other words, any variable can point to any object in Python; there’s no such thing as an “integer variable” or a “string variable.”  On the one hand, proponents of dynamic typing say that it’s a great thing  — but on the other hand, many people working on large projects have pointed to the drawbacks of dynamic typing, and have long wanted at least some type-checking to come to Python.  At this year’s PyCon, Python BDFL Guido van Rossum announced a new direction for Python, which signals a move, slowly and cautiously, in the direction of type checking for Python. What does this mean for existing code? What does it mean for the future of Python? If you’re a Python developer — or even if you’re using another dynamic language — it’s worth hearing from Guido has to say on this topic.

[Video 171] James Powell: Generators Will Free Your Mind

Generators are all the rage. Python has had them for a while, and is now moving rapidly to incorporate them even further, thanks to the Tulip project. JavaScript is getting them in ES6. But why do we care so much about generators? What can do they do for our programs, and for our understanding of how to write and improve those programs? In this talk James Powell shows us just how useful generators can be, and why they’re an important addition to your programming toolbox — in Python, but also in other languages.