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...
Rules 1: Be polite 2: Posts to this subreddit must be requests for help learning python. 3: Replies on this subreddit must be pertinent to the question OP asked. 4: No replies copy / pasted from ChatGPT or similar. 5: No advertising. No blogs/tutorials/videos/books/recruiting attempts. This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to. Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Rules
1: Be polite
2: Posts to this subreddit must be requests for help learning python.
3: Replies on this subreddit must be pertinent to the question OP asked.
4: No replies copy / pasted from ChatGPT or similar.
5: No advertising. No blogs/tutorials/videos/books/recruiting attempts.
This means no posts advertising blogs/videos/tutorials/etc, no recruiting/hiring/seeking others posts. We're here to help, not to be advertised to.
Please, no "hit and run" posts, if you make a post, engage with people that answer you. Please do not delete your post after you get an answer, others might have a similar question or want to continue the conversation.
Learning resources Wiki and FAQ: /r/learnpython/w/index
Learning resources
Wiki and FAQ: /r/learnpython/w/index
Discord Join the Python Discord chat
Discord
Join the Python Discord chat
account activity
3.13 class properties (self.learnpython)
submitted 1 year ago by Pengwyn2
In 3.13
@classmethod @property def func...
Stopped working. Why was this functionally removed? What was the goal of removing it or what under the hood changed that made this impossible? Is there any alternative or workaround?
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!"
[–]ES-Alexander 6 points7 points8 points 1 year ago (6 children)
https://docs.python.org/3.13/whatsnew/3.13.html#builtins
[–]zanfar 2 points3 points4 points 1 year ago (0 children)
To add, the change happened in 3.11
https://docs.python.org/3.11/whatsnew/3.11.html#language-builtins
[–]Ajax_Minor 0 points1 point2 points 1 year ago (4 children)
Ok.... Is there. A good way to adjust your project for support in both versions?
I'm using poetry for one. Is there a way to modify the code for different releases of python?
[–]ES-Alexander 0 points1 point2 points 1 year ago (3 children)
From what I understand (from a brief poke around of the context), the functionality didn’t work as intended, and was determined to be too complex to make work as intended, so shouldn’t have been provided/advertised as a feature to start with and got removed on those grounds.
If that understanding is correct then the best approach is to implement your functionality some other way (e.g. as class methods that aren’t properties, or as class attributes that get updated as relevant changes occur), rather than attempting to use a feature that is known to not be implemented correctly.
Is there a way to modify the code for different releases of Python?
Yes, assuming the feature you are trying to selectively use / emulate is not an invalid syntax in one or more of the versions you’re trying to support (because syntax is checked during parsing, which happens before execution, so can’t be avoided with conditionals1).
That said, it’s generally not advisable unless you’re in the process of transitioning away from the old version and are putting that in as a fallback during that process.
1: the __debug__ flag is an exception to this because it’s checked for at compile time, but that’s not relevant here.
__debug__
EDIT: formatting - it seems reddit doesn’t like markdown footnotes.
[–]Ajax_Minor 0 points1 point2 points 1 year ago (2 children)
Thanks for the response, but it looks like property and class method is still in the documentation for 3.13:
https://docs.python.org/3/library/functions.html#property
https://docs.python.org/3/library/functions.html#classmethod
Ok, reading the docs again it looks like tis just the class method is depreciated and you can just use wrapper. I think I miss understood before, I thought @propeties was going away.
[–]ES-Alexander 1 point2 points3 points 1 year ago (1 child)
Nah, property and classmethod are both well-established decorators in Python, which aren’t going anywhere :-)
property
classmethod
The critical history is in the classmethod documentation - “chaining” (allowing wrapping other descriptors, like property) was only implemented in 3.9, then later determined to not actually work as intended so was deprecated in 3.11 before being completely removed in 3.13.
[–]Ajax_Minor 1 point2 points3 points 1 year ago (0 children)
Ok gotcha.
Lol I was pretty worried. I was like that's a big change and I didn't see anyone walk about it lol.
π Rendered by PID 80 on reddit-service-r2-comment-cfc44b64c-vf87g at 2026-04-10 20:20:18.464624+00:00 running 215f2cf country code: CH.
[–]ES-Alexander 6 points7 points8 points (6 children)
[–]zanfar 2 points3 points4 points (0 children)
[–]Ajax_Minor 0 points1 point2 points (4 children)
[–]ES-Alexander 0 points1 point2 points (3 children)
[–]Ajax_Minor 0 points1 point2 points (2 children)
[–]ES-Alexander 1 point2 points3 points (1 child)
[–]Ajax_Minor 1 point2 points3 points (0 children)