python方法的一点小问题

title()和print()都是方法
为什么print()里加title()可以输出但是加sort()输出为None.

travel=['beijing','shanghai','nanjing','xian','wuhan','hangzhou']
travel.sort(reverse=True)
print(travel)#  可以输出travel列表的内容
print(travel.sort())#  输出为none

title()是一个字符串方法,它返回一个新字符串,其中每个单词的第一个字符为大写,其余字符为小写。

print()是一个函数,它将传递给它的参数输出到控制台。

当您调用print(travel.title())时,title()方法被调用在travel列表对象上,这是一个字符串列表,因此它会引发错误。您可以在列表中的每个字符串上调用title(),然后打印结果字符串列表,如下所示:

travel = ['beijing','shanghai','nanjing','xian','wuhan','hangzhou']
travel = [city.title() for city in travel]
print(travel)

这将输出:

['Beijing', 'Shanghai', 'Nanjing', 'Xian', 'Wuhan', 'Hangzhou']

关于sort(),如我在之前的回答中所提到的,sort是一个在原地操作,不会返回新列表。当您调用print(travel.sort())时,sort()方法被调用在travel列表对象上,它将列表排序,但不返回新列表,因此print(travel.sort())打印None。要打印排序列表,您需要先调用sort,然后再打印排序列表:

travel = ['beijing','shanghai','nanjing','xian','wuhan','hangzhou']
travel.sort()
print(travel)

这将输出:

['beijing', 'hangzhou', 'nanjing', 'shanghai', 'wuhan', 'xian']

因为sort方法没有返回值,title方法有返回值。望采纳。

因为sort()方法没有返回值,直接改变元素

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^