额外的“无”作为Python中的输出

时间:2018-07-25 01:10:39

标签: python class oop

class student:
    birth_day = 21 
    birth_month = 4 
    birth_year = 1998 
    def __init__(self,name):
        self.naav = name 
    def SayHi(self):
        return print('hello'+''+self.naav)


Topper = student('vikas')
print(Topper.naav) 
print(Topper.SayHi())
print(student.birth_day)  
print(Topper.birth_day)  
#print(student.naav)

输出为

vikas
hellovikas
None
21
21

我对第三个输出“ None”感到困惑,不知道它是如何工作的,有人帮助我理解了

1 个答案:

答案 0 :(得分:0)

之所以发生这种情况,是因为您正在print(Topper.SayHi())上打印函数SayHi返回的内容。但是该函数不返回任何内容(无)。 这是因为print('hello'+''+self.naav)不会返回值,它会执行某些操作而什么也不返回。 您应该做的是仅返回字符串(更改我刚刚谈论的这一行),然后打印函数SayHi的返回(就像您已经在做的那样)。

如果我不清楚,或者您仍然不知道该怎么办,那就告诉我。