【问题标题】:Is there any other function except upper which can help to make all character of a string in uppercase?除了大写之外,还有其他函数可以帮助将字符串的所有字符变为大写吗?
【发布时间】:2020-01-13 01:08:07
【问题描述】:

我试图将字符串的所有字符都设为大写,但由于字符串在 python 中是不可变的,因此我无法将其永久保存在字符串中。有什么功能或替代方法可以实现吗?

message = "Have a great day"    
print(message.upper())    
message.upper()    
print(message)

第一次打印全部大写,但第二次返回相同的字符串,没有任何变化...

【问题讨论】:

  • 如果一个字符串是不可变的,no 函数将能够改变它。
  • 你问错问题了。你正确的方法;问题是如何保持它给出的结果。将其分配给一个新变量(如果您想覆盖它,则返回给message)。
  • 在第一种情况下,您打印新字符串。下一秒你就把它扔掉了。

标签: python string uppercase


【解决方案1】:

您可以将其存储为变量:

message = "Have a great day"    
print(message.upper())    
message = message.upper() # Could store it as a different variable, 
                          # if you don't want it to overwrite 
print(message)

【讨论】:

    【解决方案2】:

    您好 Sting:感谢您在 Stackoverflow 中提问。我看这是你第一次。 发生的是,upper 是一个方法并返回一个值。

    在 print(message.upper()) 的情况下,您将方法的返回值传递给 print 和 print 并将其打印到标准输出

    message.upper() 上没有发生这种情况,您没有捕获返回的值 下面的代码解决了这个问题。

    希望对你有帮助。!!

    message = "Have a great day"
    print(message.upper())
    l= message.upper()
    print(l)
    

    【讨论】:

      【解决方案3】:

      您可以将消息分配给变量

      message = "Have a great day"
      print(message.upper())
      uppercase_message = message.upper()
      print(uppercase_message)
      

      【讨论】:

      • 我太慢了。我应该删除多余的答案吗?
      • 不,你可以保留你的答案。您甚至可以通过添加文档、解释、cmets 等的链接对其进行编辑,使其比现有答案更好:)
      • 谢谢@iz_!你很好,乐于助人。
      猜你喜欢
      • 2017-05-16
      • 2011-06-23
      • 2018-05-28
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-19
      • 2019-02-28
      相关资源
      最近更新 更多