print
использует str
для преобразования своих аргументов в str
. Итак, ваши первые два примера эквивалентны
print ("array: ", str(array))
print ("array: ", str({0: 2.0 * array}))
Обратите внимание на разницу, хотя: в первом вызове array
является аргументом для str
. Во втором вызове аргументом является просто dict
, который содержит экземпляр ndarray
. dict.__str__
использует repr
, а не str
, чтобы создать строку из содержащихся в ней значений.
Третий пример не включает никаких неявных вызовов str
от print
, так как print
получает только один str
аргумент. Однако метод format
по умолчанию использует str
для преобразования одного из его аргументов в строку для включения его в строку формата.