#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http

제목[re]함수를 정의했는데 값이 대입되지 않습니다.2020-04-08 22:53
작성자

먼저 f가 출력되지 않은 이유는 매개변수로 존재해야할 f가 string인 'f'로 작성되어 있어 값이 반영되지 않았습니다.


다음으로 아래와 같이 작성한 경우 Out 값으로 None이 나오지 않습니다.


def test():

    return print()


그러나 다음과 같이 작성한 경우 Out 값으로 (None, None)이 발생할 수 있습니다.


def test2():

    return print(), print()


위의 경우 두개의 None 값으로 tuple 객체가 생성되어 return 됩니다.

즉 ,test()의 return 타입은 None이지만 test2()의 return 타입은 tuple이 됩니다.

따라서 보여지지 않아야할 None 타입이나 (None, None)으로, tuple이기에 보이게 됩니다.

(배우지 않은 tuple을 말해 드려 죄송하지만 하나의 타입 또는 클래스로 이해해주시면 좋겠습니다. python 공식 문서의 tuple url을 남깁니다. - https://docs.python.org/ko/3/c-api/tuple.html)


마지막으로, 일반적인 경우의 함수 내에서는 return 다음에 return 값을 제공하지 않는 함수를 사용하지는 않습니다.

따라서 질문주신 분의 코드를 다음과 같이 수정할 수도 있겠습니다.


def calcAge(a, y, f):

    print('~~~', a, '~~~~')

    print('~~~~~~~~~', y)

    print('~~~~~~~~~', f) 

    return


추가적인 질문이 있다면 이곳에 답글을 남겨주시거나 e-mail을 보내주시길 바랍니다.

e-mail: fulleast@khu.ac.kr

댓글