Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python string.capitalize()方法:Python设计人员考虑了什么用例?_Python - Fatal编程技术网

Python string.capitalize()方法:Python设计人员考虑了什么用例?

Python string.capitalize()方法:Python设计人员考虑了什么用例?,python,Python,我正在学习Python,刚刚了解了字符串的大写方法。它将字符串的第一个字母大写,并且仅将第一个字母大写它还将字符串中的所有其他字符转换为小写。 这种方法是为什么场景设计的?我很难想象需要一个函数来实现这一点。在过去20多年的编程中,我可能需要这样一个函数,但如果我需要的话,我想不起来了 名称大写 我想到的一件事是名字的大写。但并非所有的名字(人、地方或任何我能想到的东西)都以大写字母开头,而所有其他字母都是小写的(至少在英语、法语和西班牙语中是这样)。因此,这看起来充其量只是一个只支持糟糕用户体

我正在学习Python,刚刚了解了字符串的
大写方法。它将字符串的第一个字母大写,并且仅将第一个字母大写它还将字符串中的所有其他字符转换为小写。

这种方法是为什么场景设计的?我很难想象需要一个函数来实现这一点。在过去20多年的编程中,我可能需要这样一个函数,但如果我需要的话,我想不起来了

名称大写 我想到的一件事是名字的大写。但并非所有的名字(人、地方或任何我能想到的东西)都以大写字母开头,而所有其他字母都是小写的(至少在英语、法语和西班牙语中是这样)。因此,这看起来充其量只是一个只支持糟糕用户体验的用例

我想知道该语言的设计者在创建该方法时的想法。这并不是真正的基于意见的,尽管可能不可能知道,除非他们记录在案。你们中有人读过Python设计者关于这个方法的用例的文档吗

我在谷歌上搜索了“python字符串大写方法为什么你会需要它”我能想到的所有方法,但没有找到任何成功的方法


请开导我

它适用于只将字符串的第一个字母大写的情况


python中的标准库包含大量的功能,一般程序都不需要这些功能,但其他程序却非常方便。如果标准库只包含每个程序都会使用的函数,那么它就不会因为它是一种简单易用的语言而受到欢迎。

想象一下,你有一个数据库(甚至是一个csv),在那里你告诉所有朋友填写他们的名字和姓氏。在这样做时,他们中的一些人没有大写他们的姓或名的第一个字母。但是,当你想把他们打印在“来你的派对的客人名单”上时,你就要坚持打印他们的名字和姓氏的第一个字母,不管他们的输入是什么,因为这是一种普遍的规范


在这种情况下,只需在csv的firstname和lastname上使用capitalize()。不过这是个愚蠢的比喻

对于名字的第一个字符必须是大写的应用程序,Emily Jane McDonald可能不会太高兴:哈哈!这就是让·保罗·高蒂耶的想法。没错!“你不能随意地对别人的名字进行资本重组。”当然,我同意!但是,这只是它用例的一个例子。在一些特殊情况下,比如我和@Shadow在开玩笑时说的,可以在按
'-'
'
拆分后再次使用
大写()。我觉得
title()
更适合后一种情况,即名字或姓氏中有两个单词用空格隔开。Emily McDonald仍然不会高兴;-)当然可以,但对于大多数标准库函数,我(显然想象力非常有限)可以使用数十种甚至数百种使用场景。但是程序什么时候需要将字符串的第一个字母大写呢?我想知道语言设计者的想法。我喜欢这个答案——它回答了最初的问题。另一种说法是,仅仅因为它在标准库中并不意味着它对大多数程序员有用。说得好。