Python successfully maintains a fine balance between being easy to learn and useful for even large-scale projects. This is achieved both through the design of the language, and through the community.
In design discussions around Python, the phrase "consenting adults" is often repeated. Python is designed to not prevent its users from doing anything. You can fairly freely inspect classes or even monkeypatch as needed. To balance this freedom, there is a vague, ever-changing notion of "Pythonic code", which is nevertheless quite successful in making the Python that actual programmers use quite a strict language. I'll share some insights about about how this balance works out, and how it helped make Python the language – and community – that it is today.