In Python strings are allowed to have a number of special prefixes: b'', r'', u'', f'' + their combinations. The proposal is to allow arbitrary (or letter-only) user-defined prefixes as well. Essentially, a string prefix would serve as a decorator for a string, allowing the user to impose a special semantics of their choosing. There are quite a few situations where this can be used: - Fraction literals: `frac'123/4567'` - Decimals: `dec'5.34'` - Date/time constants: `t'2019-08-26'` - SQL expressions: `sql'SELECT * FROM tbl WHERE a=?'.bind(a=...)` - Regular expressions: `rx'[a-zA-Z]+'` - Version strings: `v'1.13.0a'` - etc. This proposal has been already discussed before, in 2013: https://mail.python.org/archives/list/python-ideas@python.org/thread/M3OLUUR... The opinions were divided whether this is a useful addition. The opponents mainly argued that as this only "saves a couple of keystrokes", there is no need to overcomplicate the language. It seems to me that now, 6 years later, that argument can be dismissed by the fact that we had, in fact, added new prefix "f" to the language. Note how the "format strings" would fall squarely within this framework if they were not added by now. In addition, I believe that "saving a few keystroked" is a worthy goal if it adds considerable clarity to the expression. Readability counts. Compare: v"1.13.0a" v("1.13.0a") To me, the former expression is far easier to read. Parentheses, especially as they become deeply nested, are not easy on the eyes. But, even more importantly, the first expression much better conveys the *intent* of a version string. It has a feeling of an immutable object. In the second case the string is passed to the constructor, but the string has no meaning of its own. As such, the second expression feels artificial. Consider this: if the feature already existed, how *would* you prefer to write your code? The prefixes would also help when writing functions that accept different types of their argument. For example: collection.select("abc") # find items with name 'abc' collection.select(rx"[abc]+") # find items that match regular expression I'm not discussing possible implementation of this feature just yet, we can get to that point later when there is a general understanding that this is worth considering.