I am a long-time Python fan and user but the comparison is apples and oranges.
If you try to use PS in the same ways you would use Python, or Ruby, or Perl, or whatever, then it is, indeed, clunky.
But that misses the point entirely. You have to write PowerShell as PowerShell, not as some other language.
True objects in pipelines is a complete game-changer!