Skip to content
0:00 / 0:00

#decorators#generators#contextmanagers

James Powell: So you want to be a Python expert? | PyData Seattle 2017

PyData

173K subscribers • 11 videos on Hallway

YouTube
  • Recommended by 6 people: 6 on Hacker News.
  • A classic. People kept recommending it from 2020 to 2026.
  • Presented by James Powell
  • Linked in the descriptionnumfocus/YouTubeVideoTimestamps

Advanced. Deep dive for people who know the field.

507K views9 years ago6 recommendations

Programming languagesSoftware designPythonDesign patternsFunctional programming

James Powell explains Python's data model, decorators, generators, and context managers through live-coding in Vim.

www.pydata.org PyData is an educational program of NumFOCUS, a 501(c)3 non-profit organization in the United States. PyData provides a forum for the international community of users and developers of data analysis tools to share ideas and learn from each other. The global PyData network promotes discussion of best practices, new approaches, and emerging technologies for data management, processing, analytics, and visualization. PyData communities approach data science using many languages, including (but not limited to) Python, Julia, and R. PyData conferences aim to be accessible and community-driven, with novice to advanced level presentations. PyData tutorials and talks bring attendees the latest project features along with cutting-edge use cases. About PyData and being proficient in Python Important features of Python and audience survey Data model methods __init__ method __repr__ method __add__ method __len__ method __call__ method Metaclasses and the problem of writing safe library code Contraints on the library code using assert Compile-time vs run time executable code Disassembling class code and using __build_class__ Constraining library code with the metaclass pattern Introducing decorators Code inspection Writing a timer function Decorator syntactic sugar Writing a ntimes decorator Wrapping functions into class Eager execution __iter__ and __next__ methods yield and the Generator syntax Coroutines and interleaving Context Managers Setup and teardown of resources Applying to SQL transactions __enter__ and __exit__ methods Links between generators and context managers Refactoring the SQL query code Wrapping up Opinions on writing clear code in Python Q&A S/o to github.com/mycaule for the video timestamps! Want to help add timestamps to our YouTube videos to help with discoverability? Find out more here: github.com/numfocus/YouTubeVideoTimestamps

Why it's here

6 people recommend this

What people say. Highly recommended as one of the best and most engaging technical explanations of advanced Python concepts.

mattst88on Hacker News • Recommends

On “Resources to Learn Python in 2020”

I work professionally in C/C++ and the instances I needed to use Python I always felt like I was missing the core understanding of the language and was writing C in a different syntax. I found James Powell's PyData 2017 talk "So you want to be a Python expert?" ( link to this video ) to be incredible at helping me to gain that core understanding of the language. It's legitimately the best technical talk I think I've seen and I can't recommend it highly enough.

ransom1538on Hacker News • Recommends

On “YouTube Channels to Level Up Your Programming Skills”

I don't even use python. But this python expert video was absolutely amazing done by a true pro. James Powell link to this video

charlyslon Hacker News • Recommends

On “Advanced Python Mastery – A Course by David Beazley”

Another good (and entertaining) resource is James Powell's talk "So you want to be a Python expert" 1, the best explanation I've seen of decorators, generators and context managers. Good intro to the Python data (object) model too. 1 link to this video

barefegon Hacker News • Recommends

On “Data-Oriented Programming in Python”

I recommend any of the talks by James Powell at PyData. For example this one link to this video Edit: maybe this one on Numpy may be more relevant: link

jphowardon Hacker News • Recommends

On “Ask HN: Which book would you recommend for learning Python in detail?”

James Powell frequently gives very deep Python talks at conferences like Pydata, and shows you his coding approach in real time on Vim. Plenty of them are on YouTube and are worth a watch. This one 1 entitled "So you want to be a Python expert?" has almost half a million views! 1 link to this video

kengoaon Hacker News • Recommends

On “Ask HN: Reading list for being a better engineer?”

Understanding Python's data model helped me become a better software engineer. I'd recommend watching this PyData talk (James Powell: So you want to be a Python expert? | PyData Seattle 2017 - link to this video ) and then using the official doc as a reference which is also fun to read: link

u/Yamoyekin r/C_Programming • Mentions

On “C ruined all languages for me idk what to do ”

Here are some tips I’ve picked up throughout the years: - The deeper you learn a language, the more interesting it is, which also makes it more fun - Find something you like about the language - Force yourself to go *actually* learn how to think in the way the language requires you. On a personal note, I started programming with C++, so when I started learning Python, I *hated* it. I didn’t like dynamic typing, I wasn’t used to the white space, etc etc. However, when I learned about a) how easy strings were and b) how much complexity Python was hiding in the form of meta classes and dunder methods (this talk is a good overview), I learned to love the language. I still have my issues with…