Speaking for myself, I am beyond tired of this topic, however informative parts have been.
I will say it is irrational to try to impose rationally across all possible languages, let alone people like me who often combine 3 or more language in a single sentence when talking to others like myself with a dynamic to nonsensical grammar. Try capitalizing someone's name when they insist on being known by a purely numerical name like 7777..., or just 7 of 9 or even !@zq. So, yes, a purist might want a truly comprehensive piece of code larger than say all the code in Microsoft WORD, that first figures out what language might be used and uses locale and guesswork to even try to narrow down that the words are meant to be treated as they are in Bavaria and see if the use is informal or say adhering to the rules for submitting in APA format or whatever. We are talking about an extremely hard problem that will still likely make mistakes if I am from Bavaria but submitting a science fiction article mimicking what I imagine might be the way it will be written in 3010. So I suggest we take the source for the title function and rename it something enlightening like changeCaseRandomMethod42dInitialUpperElseLower() so it can be used mysteriously by anyone that wants. Then deprecate the use of title() while keeping that as some form of alias for the fantastic new name. Anyone wishing to have title mean anything else, feel free to redefine it. But that jokingly does not mean there is no room for improvement. As an example, people often would like words like "FBI" to be left alone and not changed to "Fbi" or in some other contexts, not be flagged as a spelling error let alone corrected. I suspect the same or relate functions might accept an optional arguments like maintainAllCAPS=TRUE so FBI is left alone, albeit LOTUS123 might become Lotus123 or not. I have seen setups where a programmer makes every imaginable function they can think of but at some later point, some profiling of actual usage shows that 80% of them are NEVER used. Often, that is because nobody reads all the documentation to find out if it even exists or there is a simple workaround. If the only thing bothering you is that a small list of words like FBI comes out wrong, it is simple enough to write a function that post-processes the result of title() and changes those words back. If you designed a brand new language core today, you may indeed want to leave title() out of the core but include it as an optional module, perhaps with a more descriptive name. Tell me if the base should have functions called camelCase(), PascalCase(), arrayHungarianCase() or underscore_case() ???? -----Original Message----- From: Python-list <python-list-bounces+avigross=verizon....@python.org> On Behalf Of Christian Gollwitzer Sent: Monday, March 22, 2021 4:21 PM To: python-list@python.org Subject: Re: .title() - annoying mistake Am 22.03.21 um 16:03 schrieb Robert Latest: > Chris Angelico wrote: >> Cool thing is, nobody in Python needs to maintain anything here. > > That's great because I'm actually having trouble with sending log > messages over the socket conection you helped me with, would you mind having a look? You misunderstood the "here". (native German as well, but I think it means "for keeping .title() up to date) I agree with Chris that .title() can be useful for "title-casing" a single character, whatever that means. It should be documented, though, that it is not suitable to title-case a string, not even in English. Christian -- https://mail.python.org/mailman/listinfo/python-list -- https://mail.python.org/mailman/listinfo/python-list