调用str.upper后不存储结果

时间:2019-05-09 20:38:24

标签: python-3.6

所以我正在使用字符串方法s.upper(),但是当它执行时不会将整个句子转换为大写。我想知道我的理解是错误的还是做错了什么。

我尝试使用s.lower方法,它给了我相同的显示而没有任何更改。

这是我的代码:

foods = ['soup', 'waffle', 'pizza']
for food in foods:
    food[0].upper()
print(foods[0], foods[1], foods[2])

代码显示:

soup waffle pizza  

当我期望

SOUP WAFFLE PIZZA

1 个答案:

答案 0 :(得分:1)

下面是一个简单的示例,可以阐明问题所在:

food = 'Soup'
food.upper()
print(food)
>>> 'Soup'

当您致电food.upper()时,它返回了SOUP,但是您对结果没有任何处理。相反,您需要将结果分配给某些内容。

food = 'Soup'
food = food.upper()
print(food)
>>> 'SOUP'

这一次,由于您已将调用food.upper()的结果分配回可变食品,因此它现在具有值SOUP,您可以在打印时看到它。