I am writing a code to document an employee system, the class can print full name, email:
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())
Output is like this:

I don't understand why when I call methods (email(), fullname()), I have a None within the output?
The output is:
Jim
[email protected]
None
Jim
Smith
None
returnsomething from those methods to see it in the output.printis just for you to visualize what a value is. It has nothing to do with how data is transferred or is flowing through the computer.None. So you have 2 choices: (1) Return the strings without printing and then print the returns. (2) Print the strings in the methods but don't print the returns.