Почему следующая версия кода «Нет» в конце?Дополнительная информация для Python
class Square:
def printx(self):
print "A"
test = Square()
print test.printx()
Выход:
A
None
Почему бы просто не печатать только букву "А"?
Почему следующая версия кода «Нет» в конце?Дополнительная информация для Python
class Square:
def printx(self):
print "A"
test = Square()
print test.printx()
Выход:
A
None
Почему бы просто не печатать только букву "А"?
Когда вы звоните printx
, в заявлении print
напечатано "A". Затем метод заканчивается и возвращает None
, вот что выводит оператор print
в последней строке.
Вы можете это исправить, как например -
class Square:
def printx(self):
print "A"
test = Square()
test.printx()
ИЛИ
class Square:
def printx(self):
return "A"
test = Square()
print test.printx()
Хотя на основе семантики, то первый вариант будет иметь больше смысла.
Поскольку у вас есть два заявления print
. Вы печатаете «A», а также возвращаемое значение printx
.
Я бы изменил функцию-член во втором методе на имя '' getx() '', чтобы объяснить семантику того, что вы делаете. –