转换为大写字母。哪种方式更符合Python风格?

25

使用Python 3。哪种方法更符合Python风格?将字符串转换为大写字母:

guess = input("\n\nEnter your guess: ")
guess = guess.upper()
print(guess)
或者
guess = input("\n\nEnter your guess: ").upper()
print(guess)
或者
guess = input("\n\nEnter your guess: ")
print(guess.upper())

我也很想知道其他更有效的编写方式。谢谢,非常感谢建议。


4
你错过了:print(guess.upper())。这取决于你之后如何使用变量guess。如果仅涉及打印样式,我更喜欢此注释中的那个样式。 - joaquin
谢谢Joaquin,我会添加进去的。 - Zefi
print(input("...").upper()) 怎么样?Python 的一个特点是,这些都可能是正确的,具体取决于您想要使用返回值做什么。如果您不需要稍后使用返回值,则无需分配它。但是,您也不需要将所有内容都放在一行上,只是因为您可以这样做。 - Will
3个回答

15

可能最终取决于您将如何使用该值,但坦率地说,在任何情况下,这些解决方案几乎都是同样的Python风格。只需使用其中任何一种,然后继续进行真正的操作 :)


7
的确,过于考虑"pythonic"的东西会让你无法真正编写代码! - Oleh Prypin

6

第一种方式可能更好,因为它鼓励检查用户输入值,这也是Python中的一个良好安全实践。

在调试程序时,这也更方便。

当在交互式提示符下运行时,这可能会有所帮助:

import this

-9

将所有输入都转换为大写字母已经过时了,这一点也不好笑。无论是什么意思,“Pythonic”肯定不是这个意思。

在打印之后确定您想对输入执行什么操作(处理大写的输入?处理原始输入?还是什么都不做?)并相应地编写代码。

没有比使用键盘键入更有效的编写“this”的方法。


12
Python 社区常用词汇是“pythonic”,其涵义与程序风格有关,意思是说代码符合 Python 惯用语法、自然流畅。同样地,若说接口或语言特性符合“pythonic”,则意味着它们能够很好地与Python惯用语法相融合,使用起来也很方便。 - XanderLynn
正如你所说,这个词有很多不同的含义。 - John Machin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接