Python打印额外的内容

时间:2015-05-03 00:14:01

标签: python

为什么以下代码最后打印“无”?

class Square:
  def printx(self):
    print "A"

test = Square()
print test.printx()

输出:

A
None

为什么不只打印字母“A”?

2 个答案:

答案 0 :(得分:5)

当您致电printx时,print语句会打印出“A”。然后方法结束,并返回None,这就是最后一行中print语句的打印。

你可以这样解决 -

class Square:
  def printx(self):
    print "A"

test = Square()
test.printx()

OR

class Square:
  def printx(self):
    return "A"

test = Square()
print test.printx()

虽然基于语义,但第一个选项会更有意义。

答案 1 :(得分:5)

因为您有两个print语句。您正在打印“A”以及printx的返回值。