- Whether or not Python was historically OO or not, everything in Python is now an object. Its love for protocols drives design like `str(foo)` (which calls `foo.__str__()`), not any particular deficiency in its object system
- Python's lambdas are indeed limited, but one can easily use `def` and just name the function. Functions are first class, after all
- Metaprogramming facilities are very similar in power. Neither language has macros.
- Python tends insist on not duplicating things (i.e. both indentation and braces/end) and on not being ambiguous. There is another reason Python can't omit braces for function calls: without braces, they are references to the function. As a consequence, Python doesn't need things like .call()
Overall, I haven't seen one language or the other to be more powerful.