python class :当我调用 class 方法时,它总是在结果中输出 "None"
python class : when I call the class methods, it always output a "None" within the result
我正在编写一个代码来记录员工系统,class 可以打印全名,电子邮件:
class Employee:
def __init__(self,first,last):
self.first=first
self.last=last
def fullname(self):
print('{} {}'.format(self.first,self.last))
def email(self):
print('{}.{}@email.com'.format(self.first,self.last))
emp_1=Employee('John','Smith')
emp_1.first='Jim'
print(emp_1.first)
print(emp_1.email())
print(emp_1.fullname())
输出是这样的:
我不明白为什么当我调用方法(email()
、fullname()
)时,我在输出中有一个None
?
输出为:
Jim
Jim.Smith@email.com
None
Jim
Smith
None
您正在 print
函数中使用方法调用。所以它将尝试打印从方法中 returned 的值。由于您没有从该方法中 returning 任何内容,因此它会打印 None
.
您始终可以 return 值而不是将它们打印在里面。例子.
class Employee:
def __init__(self, first, last):
self.first = first
self.last = last
def fullname(self):
# just printing the name will not return the value.
return '{} {}'.format(self.first, self.last)
def email(self):
# same, use a return statement to return the value.
return '{}.{}@email.com'.format(self.first, self.last)
emp_1 = Employee('John', 'Smith')
emp_1.first = 'Jim'
print(emp_1.first)
print(emp_1.email()) # print what is returned by the method.
print(emp_1.fullname())
它会给出像
这样的正确输出
Jim
Jim.Smith@email.com
Jim Smith
我正在编写一个代码来记录员工系统,class 可以打印全名,电子邮件:
class Employee:
def __init__(self,first,last):
self.first=first
self.last=last
def fullname(self):
print('{} {}'.format(self.first,self.last))
def email(self):
print('{}.{}@email.com'.format(self.first,self.last))
emp_1=Employee('John','Smith')
emp_1.first='Jim'
print(emp_1.first)
print(emp_1.email())
print(emp_1.fullname())
输出是这样的:
我不明白为什么当我调用方法(email()
、fullname()
)时,我在输出中有一个None
?
输出为:
Jim
Jim.Smith@email.com
None
Jim
Smith
None
您正在 print
函数中使用方法调用。所以它将尝试打印从方法中 returned 的值。由于您没有从该方法中 returning 任何内容,因此它会打印 None
.
您始终可以 return 值而不是将它们打印在里面。例子.
class Employee:
def __init__(self, first, last):
self.first = first
self.last = last
def fullname(self):
# just printing the name will not return the value.
return '{} {}'.format(self.first, self.last)
def email(self):
# same, use a return statement to return the value.
return '{}.{}@email.com'.format(self.first, self.last)
emp_1 = Employee('John', 'Smith')
emp_1.first = 'Jim'
print(emp_1.first)
print(emp_1.email()) # print what is returned by the method.
print(emp_1.fullname())
它会给出像
这样的正确输出Jim
Jim.Smith@email.com
Jim Smith