> 백엔드 개발 > 파이썬 튜토리얼 > 내 Python 함수가 예상한 출력 대신 'None'을 반환하는 이유는 무엇입니까?

내 Python 함수가 예상한 출력 대신 'None'을 반환하는 이유는 무엇입니까?

DDD
풀어 주다: 2024-11-28 11:00:10
원래의
370명이 탐색했습니다.

Why Does My Python Function Return `None` Instead of the Expected Output?

Python 함수 반환 동작 이해

이 간단한 Python 함수는 왜 끝에서 None을 반환합니까?

def printmult(n):
    i = 1
    while i <= 10:
        print(n * i, end=' ')
        i += 1
로그인 후 복사

설명:

에서 Python에서는 모든 함수가 값을 반환합니다. return 문이 명시적으로 제공되지 않은 경우 기본 반환 값은 None입니다. 이 경우 printmult() 함수는 반환 값을 지정하지 않으므로 기본적으로 None을 반환합니다.

예상:

다음과 같이 잘못 예상할 수 있습니다. printmult(30)은 실제와 다르게 동작합니다. 설명은 다음과 같습니다.

  • printmult(30)는 인수 30을 사용하여 printmult() 함수를 평가합니다.
  • 이 함수는 1부터 10까지 30의 곱셈표를 인쇄합니다. 출력 "30 60 90 120 150 180 210 240 270 300 "(따옴표 제외).
  • 그러나 이 함수는 특정 값을 반환하지 않습니다.
  • print()는 printmult(30)(없음)의 반환 값을 취하고 None에는 문자열이 없으므로 출력이 표시되지 않습니다.

권장 사항:

이 동작을 방지하려면 함수 끝에 원하는 값을 명시적으로 반환합니다. 예를 들어, 구구단의 마지막 요소를 반환할 수 있습니다:

def printmult(n):
    i = 1
    while i <= 10:
        print(n * i, end=' ')
        i += 1
    return n * 10

print(printmult(30))  # Now returns 300
로그인 후 복사

위 내용은 내 Python 함수가 예상한 출력 대신 'None'을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿