개발/python [python] print와 return의 차이점유다110 2017. 10. 27. 11:19 print와 return은 모두 function이 아닌 statement다. 뭐 이건 제쳐두고, print와 return의 가장 큰 차이점은 함수 및 프로그램에 영향을 주느냐 마느냐이다. print는, 그저 값을 출력할 뿐, 컴퓨터가 이 값을 가지고 무얼 하진 못한다. 변수가 어떤 값을 가지는지 사용자 측에서 편하게 보기 위함이지 함수에는 전혀 영향을 끼치지 않는다. return은, 함수가 값을 반환하는 가장 주된 방법이다. 모든 함수는 어떠한 값을 return하며, 이 return(혹은 yield)이 명시되어 있지 않은 경우에는 None을 return한다. 이 반환된 값은 다른 함수에서 사용될 수 있으며 변수에 저장될 수도 있다. def function_that_prints(): print("I printed") def function_that_returns(): return "I returned" f1 = function_that_prints() f2 = function_that_returns() print("Now let us see what the values of f1 and f2 are") print(f1) print(f2) 출력결과 "I printed" "Lets see what the values of f1 and f2 are" None "I returned" 출처: https://www.codecademy.com/ko/forum_questions/518ffbfeb3f05c44fe001395 파이썬 return vs. print 차이return vs. print많은 분들이 return문과 print문을 헷갈려합니다. 한번 비교해보겠습니다. 사례 1def print_square(x): print(x * x) def get_square(x): return x * x print_square(3) print("--") get_square(3) print("--") print(get_square(3)) print("--") print(print_square(3)) 9 -- -- 9 -- 9 None
사례 21. def secret_number(): 2. print("우리의 비밀 번호는: ") 3. return 486 4. 5. print(secret_number()) 우리의 비밀 번호는: 486 1. 파이썬은 (1)~(3)번 줄의 함수 정의를 건너뛰고, (5)번 줄에 도착합니다.2. (5)번 줄에서 secret_number()라는 함수 호출 때문에, 파이썬은 secret_number 함수가 정의되어 있는 (1)번 줄로 이동합니다.3. (2)번 줄의 print 명령에 따라 파이썬은 "우리의 비밀 번호는: "을 출력합니다.4. 486을 리턴하라는 명령이 있기 때문에 함수의 실행이 중단되고, 함수를 호출한 secret_number()라는 부분이 486으로 대체됩니다. (5)번 줄의 print(secret_number())는 print(486)과 동일해져서 486이 출력됩니다. 사례 3만일 위 코드에서 (5)번 줄이 print(secret_number())가 아닌, secret_number()였으면 어땠을까요? 1. def secret_number(): 2. print("우리의 비밀 번호는: ") 3. return 486 4. 5. secret_number() 우리의 비밀 번호는:
사례 4그렇다면 함수 내부에서 print문과 return문의 순서가 바뀌어 있으면 어떻게 될까요? 1. def secret_number(): 2. return 486 3. print("우리의 비밀 번호는: ") 4. 5. print(secret_number()) 486
프로그래밍/Python 기초) return 정리 및 문제 풀기takudaddy 2020. 5. 28. 21:10 return 은 함수 내부에서 사용하는 키워드. 함수 내부에 작성된 코드가 실행되다가 리턴이라는 키워드를 만나면 실행된 결괏값을 함수 바깥으로 반환해 나가게 되는데 이러한 반환 값을 리턴 값이라고 부른다. 기본 원리 1. 기본 기능 함수 내부의 코드를 실행 중이던 프로그램이 return 키워드를 만나면 그 아래쪽에 있는 코드는 실행이 안 되며 프로그램이 종료된다. def function() : print(A) rerurn print(B) function() 2. print 함수로 해당 함수를 최종 출력할 때 return 값 None이 출력된다! 3. 반환 값 리턴에 값을 넣어주면 그 값을 가지고 돌아가게 된다. 기본 문제 1. 두 수를 더하는 함수를 만들어 값을 반환하시오 기본 예제 중의 하나. 동일한 코드를 두 개 나누어 작성하는데 하나는 함수 자체를 출력하는 코드, 다른 하나는 함수를 x라는 변수에 담아 출력하는 코드. 2. start ~ end까지의 모든 정수를 더하는 함수를 만드시오 먼저 함수명과 매개변수, 인자 값을 설정, 다음으로 반복문을 만들어 준다. 반복 문의 범위를 range 함수로 지정해 i에 담아 주고 덧셈에 영향을 주지 않는 숫자 0을 변수로 지정, 반복문이 돌 때마다 지정해둔 범위의 수가 하나씩 증가하며 더해지게 만들어 주고 최종적으로 변수를 반환시킨다. 3. 다음 방정식을 함수로 만드시오 f(x) = x def f(x): return x print ( f(10) ) f(x) = 2x + 1 f(x) = (x**x) 2x + 1 *ㅇ와 같이 어떤 상황에도 항상 같은 값을 내는 함수를 순수 함수, pure function이라고 한다. 별 의미 없고 쓸데없는 지식이라고~ 4. 매개 변수로 전달된 값들을 모두 곱해 리턴하는 가변 매개변수 함수를 만드시오 def mul(*value) : print (mul(5,7,9,10)) 실행 결과 : 3150 위 2번 덧셈 문제 때는 덧셈에 지장을 주지 않는 숫자 0을 초기화 값으로 변수에 넣었는데 이번에는 곱셈이니 역시나 곱셈에 영향을 주지 않는 1을 초기화 값으로 변수에 넣었다. 이제 for 반복문을 사용해 매개 변수의 값들을 i에 넣어주고 이것들을 하나씩 곱해준 후 변수를 반환시키면 된다. |