【问题标题】:Converting to upper case. Which way is more pythonic? [closed]转换为大写。哪种方式更pythonic? [关闭]
【发布时间】:2012-01-07 18:52:55
【问题描述】:

使用 Python 3。哪种方法更 Pythonic?转换为大写:

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())

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

【问题讨论】:

  • 你错过了:print(guess.upper()) 这取决于你之后将如何使用变量guess。如果只是印刷风格的问题,我更喜欢这篇评论中的那个
  • 谢谢 joaquin,我会把它添加进去。
  • print(input("...").upper()) 怎么样。关于 python 的事情是,所有这些都可能是正确的,这取决于你想对返回值做什么。如果您以后不需要使用 reutrn,则无需分配它。但是,您也不需要仅仅因为可以就将所有内容都放在一条线上。

标签: python python-3.x case


【解决方案1】:

这最终可能取决于您将如何处理该值,但坦率地说,这些解决方案中的任何一个几乎在任何情况下都同样是 Pythonic。只需使用其中任何一个,然后继续吃真正的牛肉:)

【讨论】:

  • 确实如此。过多地考虑“pythonic”的东西会让你无法真正编写代码!
【解决方案2】:

第一个变体可能更好,因为它邀请检查用户输入值,这在 Python 中也是一种很好的安全实践。

调试程序时也更方便。

这可能会有所帮助(在交互式提示下运行时):

import this

【讨论】:

    【解决方案3】:

    将所有输入转换为大写是 1970 年代的事情,这并不好笑。不管那是什么意思,它肯定不是“Pythonic”。

    在打印之后确定您要对输入执行什么操作(处理大写输入?处理原始输入?什么都没有?)并相应地编写代码。

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

    【讨论】:

    • @John-Machlin from wikipedia - Python 社区中的一个常见新词是 pythonic,它可以具有与程序风格相关的广泛含义。说代码是 Pythonic 就是说它很好地使用了 Python 习语,它是自然的或表现出对语言的流利程度。同样,说一个接口或语言特性是 Pythonic 就是说它可以很好地与 Python 习语配合使用,它的使用与该语言的其余部分很好地融合在一起。
    • @tathamr:正如你所说,含义广泛。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    相关资源
    最近更新 更多