Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中print函数的奇怪行为_Python_Printing - Fatal编程技术网

python中print函数的奇怪行为

python中print函数的奇怪行为,python,printing,Python,Printing,我有点不确定为什么Python中的print函数以不同的方式输出值。考虑下面的代码示例: #!/usr/bin/python3 import numpy as np array = np.arange(3.0, dtype=np.float32) print ("array: ", array) print ("array: ", {0: 2.0 * array}) print ("array {0}".format(2.0 * array)) 结果如下: array: [0. 1

我有点不确定为什么Python中的
print
函数以不同的方式输出值。考虑下面的代码示例:

#!/usr/bin/python3

import numpy as np

array = np.arange(3.0, dtype=np.float32)

print ("array: ",  array)
print ("array: ",  {0: 2.0 * array})
print ("array {0}".format(2.0 * array))
结果如下:

array:  [0. 1. 2.]
array:  {0: array([0., 2., 4.], dtype=float32)}
array [0. 2. 4.]
第二种格式与其他格式不同。这一个显式地显示了数据格式“array”和数据类型“float32”。这是预期的行为吗


有人能给我解释一下这背后的原理吗?

print
使用
str
将其参数转换为
str
。所以你的前两个例子相当于

print ("array: ",  str(array))
print ("array: ",  str({0: 2.0 * array}))
但是请注意区别:在第一个调用中,
array
str
的参数。在第二个调用中,参数只是一个包含
ndarray
实例的
dict
dict.uu str_uu
使用
repr
,而不是
str
,从其中包含的值创建字符串


第三个示例不涉及
print
str
的任何隐式调用,因为
print
只接收一个
str
参数。不过,
format
方法默认情况下使用
str
将其一个参数转换为字符串,以将其包含在格式字符串中。

print
使用
str
将其参数转换为
str
。所以你的前两个例子相当于

print ("array: ",  str(array))
print ("array: ",  str({0: 2.0 * array}))
但是请注意区别:在第一个调用中,
array
str
的参数。在第二个调用中,参数只是一个包含
ndarray
实例的
dict
dict.uu str_uu
使用
repr
,而不是
str
,从其中包含的值创建字符串

第三个示例不涉及
print
str
的任何隐式调用,因为
print
只接收一个
str
参数。不过,
format
方法默认情况下使用
str
将其参数之一转换为字符串,以将其包含在格式字符串中