我有Java背景,我正在尝试学习Python。假设我有一个数组,我想打印出它的长度和一个字符串。在Java中,我会这样做:
System.out.println("The length of the list is " + myList.length);
但是,我不知道在Python中可接受的方法是什么。我会这样做:
print("The length of the list is " + str(len(my_list)))
或者这个?:
print("The length of the list is {x}".format(x=len(my_list)))
最常被接受的pythonic方式是做什么的?如果是这样,为什么?
答案 0 :(得分:1)
在Python≥3.6中,你也可以这样做:
print(f'The length of the list is {len(my_list)}')
文档:https://docs.python.org/3/whatsnew/3.6.html#pep-498-formatted-string-literals
如果要将自定义类的实例插入到字符串中,请确保它具有__str__
方法。
答案 1 :(得分:1)
有四种方法可以将对象的字符串表示形式放入字符串中,但在这种情况下,我建议不要使用它们:
print("The length of the list is " + str(len(my_list)))
print("The length of the list is %d" % len(my_list))
print("The length of the list is {}".format(len(my_list)))
print(f"The length of the list is {len(my_list)}")
相反,只需利用print
可以为您做到这一点的事实!
print("The length of the list is", len(my_list))
注意你不需要将它强制转换为字符串,并且我从字符串文字中删除了尾随空格:print
会自动在其参数之间放置一个空格。
答案 2 :(得分:0)
事实上,最好的方法取决于您,但Python建议使用.format()
和Java中的System.out.printf
一样,您也可以编写
print('The length of the list is %d' % len(my_list))