2

我正在学习 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命令我得到结果:

字典内容:
<'to':'two','for:'four'>
Length = 2

当我使用函数时dixnary,我得到了结果:

字典内容:
<'to':'two','for:'four'>
长度 = 2

注意None最后一行的 。None当我使用该功能时,它会被添加dixnary。为什么是这样?

4

1 回答 1

11

您正在尝试打印函数的返回值,但该函数没有返回值,因此它返回默认值 None。

它打印出其他数据的原因是您在函数内部有打印命令。只需运行函数 ( dixnary()),而不是打印它 ( print dixnary())。

或者,让程序返回字符串,这样你就可以用它做有用的事情。

def dixnary():
    return "Dictionary contents :\n%s\nLength = %d" % (d1, len(d1))

print dixnary()
于 2012-04-24T15:44:15.503 回答