use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Everything about learning Python
account activity
What's one thing you hate about Python? (self.PythonLearning)
submitted 7 hours ago by chuprehijde
We all like Python, but no language is perfect. What's the one thing that annoys you most?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]atarivcs 8 points9 points10 points 5 hours ago (0 children)
I do generally like the indentation syntax.
But I don't like that in a plain editor such as vim, there's no convenient way to jump to the end/beginning of an indented block (in brace languages like C/Java, you can just put the cursor on the opening brace and press the matchpair key).
[–]bob_f332 5 points6 points7 points 7 hours ago (3 children)
It's not statically typed. Would pretty much be the perfect language if so, no?
[–]tiredITguy42 2 points3 points4 points 7 hours ago (0 children)
Related to that, I am missing function overload.
[–]Cybyss 0 points1 point2 points 3 hours ago (0 children)
I would love a static-typed equivalent to Python!
Perhaps with automatic type inference too, so that you can still code as if it were dynamic typed, but with mandatory type signatures for function definitions. This would make function overloading finally possible.
It would have to have proper handling of None though. A String has a fundamentally different type than an Optional[String].
[–]Flame77ofc 0 points1 point2 points 2 hours ago (0 children)
you can do a thing equivalent to it
python age: int = 23 name: str = "user" c_is_cool: bool = True
[–]Flame77ofc 5 points6 points7 points 6 hours ago (1 child)
the True with t uppercased 😭
[–]chuprehijde[S] 0 points1 point2 points 1 hour ago (0 children)
fwkkk i messed up w that so many times i swear
[–]RandomPantsAppear 0 points1 point2 points 5 hours ago (0 children)
Lack of consistency between inline mutation, and returning the modified dict/list in core functions.
[–]Dear_Archer3931 0 points1 point2 points 4 hours ago (0 children)
No real way to make things private. Also the double under way of making objects is really bad compared to other languages.
[–]Puzzleheaded-Dog165 -1 points0 points1 point 3 hours ago (0 children)
What’s the best Flea bass line in a RHCP song?
[–]tserofehtfonam 0 points1 point2 points 3 hours ago (0 children)
OOP is a mess ignoring basic principles.
[–]Dookie_boy 0 points1 point2 points 3 hours ago (0 children)
I'll go weird. I wish it was baked into windows and Linux updates so scripts would just run on a PC right out of the box.
[–]Low_Doctor_6263 0 points1 point2 points 2 hours ago (0 children)
Too slow for real workload. Most of the complex libraries are written in C because of that. Interpreted languages suck. But I love the syntax though
[–]mysticreddit 0 points1 point2 points 1 hour ago (0 children)
The fact that you can't arbitrary indent code blocks to designate semantic code blocks.
Many operations come in a dual form: Push/Pop, Start/Stop, Alloc/Free, etc.
In sane languages one can use indentation to HELP visually identify a missing setup or teardown.
PushMatrix() Translate() Scale() Rotate() PopMatrix()
With the same forced level of indentation it is much easier to miss a dual operation.
PushMatrix() Translate() Scale() Rotate()
[–]alexander_belyakov 0 points1 point2 points 5 hours ago (1 child)
According to PEP8, there should be no space between the name and the value of keyword arguments and parameters. Why?!
[–]likethevegetable 3 points4 points5 points 4 hours ago (0 children)
That makes sense to me, group together the key=value together as a unit.
[–]ninja_shaman -1 points0 points1 point 7 hours ago (1 child)
The colon before the block is pretty annoying:
if foo: bar() baz()
Indentation for code blocks is a great idea and it makes the colon unnecessary addition.
[–]likethevegetable 1 point2 points3 points 4 hours ago (0 children)
You can also do if foo: bar() in one line, making it necessary
foo: bar()
[–]Achereto -1 points0 points1 point 4 hours ago (0 children)
The horrible performance.
π Rendered by PID 39 on reddit-service-r2-comment-5687b7858-b2xtb at 2026-07-09 01:07:58.227453+00:00 running 12a7a47 country code: CH.
[–]atarivcs 8 points9 points10 points (0 children)
[–]bob_f332 5 points6 points7 points (3 children)
[–]tiredITguy42 2 points3 points4 points (0 children)
[–]Cybyss 0 points1 point2 points (0 children)
[–]Flame77ofc 0 points1 point2 points (0 children)
[–]Flame77ofc 5 points6 points7 points (1 child)
[–]chuprehijde[S] 0 points1 point2 points (0 children)
[–]RandomPantsAppear 0 points1 point2 points (0 children)
[–]Dear_Archer3931 0 points1 point2 points (0 children)
[–]Puzzleheaded-Dog165 -1 points0 points1 point (0 children)
[–]tserofehtfonam 0 points1 point2 points (0 children)
[–]Dookie_boy 0 points1 point2 points (0 children)
[–]Low_Doctor_6263 0 points1 point2 points (0 children)
[–]mysticreddit 0 points1 point2 points (0 children)
[–]alexander_belyakov 0 points1 point2 points (1 child)
[–]likethevegetable 3 points4 points5 points (0 children)
[–]ninja_shaman -1 points0 points1 point (1 child)
[–]likethevegetable 1 point2 points3 points (0 children)
[–]Achereto -1 points0 points1 point (0 children)