강의로 돌아가기
소년sj

출력값에 None이 붙어 나옵니다.

class Human():
    '''사람'''

person1 = Human()
person2 = Human()

person1.language = '한국어'
person2.language = 'English'
person1.name = '김철옹'
person2.name = 'john'

def speak(person):
    print('{}이 {}로 말을 합니다.'.format(person.name, person.language))

print(speak(person1))  
print(speak(person2))

Human.speak = speak

print(person1.speak())
print(person2.speak()) 

위와 같이 작성을 하면 Human.speak = speak 전후의 프린터문에서 둘다

김철옹이 한국어로 말을 합니다.
None
john이 English로 말을 합니다.
None

위와 같이 None이 한줄 붙어서 나옵니다.

별일 아닐 수도 있지만... 왜인지는 매우 궁금합니다. 늘 감사합니다.

1 개의 답변
문정훈

speak라는 함수가 리턴하는 값이 없어서 그런 것 같습니다.
print(speak(person)) 의 경우
speak 안에서 print를 하고 반환하는 값이 없어서
print(speak(person)) 에서는 None값을 print하는 것 처럼 보이네요

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.