我正在学习Python中的字典,我创建了一个简单的程序:
# Create an empty dictionary called d1
d1 = {}
# Print dictionary and length
def dixnary():
print "Dictionary contents : "
print d1
print "Length = ", len(d1)
# Add items to dictionary
d1["to"] = "two"
d1["for"] = "four"
print "Dictionary contents :"
print d1
print "Length =" , len(d1)
# Print dictionary and length
print dixnary()
现在,当我使用print
命令和使用dixnary
函数时,结果会有所不同。
使用print
命令得到结果:
词典内容:
<'至':' 2''为:' 4'>
长度= 2
当我使用函数dixnary
时,我得到了结果:
词典内容:
<'至':' 2''为:' 4'>
长度= 2
无
注意最后一行的None
。当我使用函数None
时,会添加dixnary
。这是为什么?
答案 0 :(得分:11)
您正在尝试打印函数的返回值,但该函数不返回值,因此它返回默认值None。
它打印出其他数据的原因是你在函数内部有打印命令。只需运行函数(dixnary()
),而不是打印它(print dixnary()
)。
或者,让程序返回字符串,这样你就可以用它来做有用的事情。
def dixnary():
return "Dictionary contents :\n%s\nLength = %d" % (d1, len(d1))
print dixnary()