본문 바로가기
Programming/Python

Python Intro - 003 - Input and Return Value Ex. 001

by The Programmer 2025. 2. 16.

1. Introduction

 

Input and Return Value Ex. 001. 간단한 키보드 입력 처리와 함수의 반환값에 대한 예제입니다.  어떤 프로그램이든지 키보드 입력 처리는 기본적인 사항입니다. 프로그래밍 기초 사항 중 필수 내용에는 함수의 반환값이라는 것도 있으니 함께 알아보겠습니다.

 

( 제목 번호가.. Python Intro - 003 - Input and Return Value Ex. 001, 추후 정리 )

 

 

2. Code

 

"""
File Name : Python_Intro_003_Input_and_Return_Ex_001_.py
Program Name : Input and Return Value Ex. 001
Program Version : 1.0.0
Author : James
Date : Feb. 16, 2025.
Copyright © 2025. All rights are reserved.
여러줄 주석 예제입니다. ^.^;
"""

# x를 2배로 만드는 함수. 반환값 x.

def doubleNum(x):
    x = (x * 2)
    return x

 

# 메인 함수. input()을 사용해서 사용자 입력을 받습니다.

def main():
    print("입력한 수를 2배로 만듭니다.")
    print("")
    numStr1 = input("숫자를 입력해주세요 : ")

    num1 = int(numStr1)

    num2 = doubleNum(num1)
    print("입력하신 값은 x : ", num1, "입니다.")
    print("이 값을 2배로 만들면 : ", num2, "입니다.")

    print("\u00A9")    # 이것은 심심풀이 땅콩.

 

# 메인 함수 콜, 실행. 메인 함수를 콜 해야 실행됩니다.

# main() 함수라고 하더라도 저절로 실행되지는 않습니다.

main()

 

 

3. Result

 

Not yet! ^.^;

 

 

4. Notes

 

( 주석문 설명으로도 충분할 듯한데. )

 

1) input()으로 입력받으면 입력 내용을 문자열로 인식합니다. 여기서 numStr1은 문자열입니다.

 

numStr1 = input("숫자를 입력해주세요 : ")

 

input() 함수는 사용자로부터 키보드 입력을 받을 때에 사용하는 파이썬 함수입니다. 내용을 입력하고 엔터키를 치면 입력이 완성됩니다. 주의할 점은 숫자 형태로 1234를 입력하고 엔터Enter키를 쳐도 숫자 입력을 한 것이 아니라 문자열 '1234'를 입력한 것이 된다는 점입니다.

 

숫자는 사칙연산, 더하기, 곱하기 등이 가능하지만, 문자열은 사칙연산 대상이 아니라고 할 수 있습니다. 예를 들어 개인 휴대 전화번호, 010-1000-1000에 숫자가 사용되지만,  이 숫자들은 계산용 숫자가 아니라고 생각됩니다. 형태는 1000처럼 숫자 형태이지만, 더하기 빼기 용도가 아니라는 것을 직관적으로 알 수 있습니다. input()으로 입력받은 내용은 비록 숫자 형태이지만 단순히 '글자들의 나열'인 문자열로 해석되고 문자열로 저장됩니다.

 

2) 문자열 상태로는 계산할 수 없기 때문에 정수형 숫자로 변환합니다. num1은 정수형 숫자입니다. int() 함수는 처리 대상을 정수형 숫자로 변환합니다. num1은 정수형 숫자입니다.

 

num1 = int(numStr1)

 

3) doubleNum(x) 함수는 x값을 전달받아 이 값을 2배로 만들고 다시 x에 저장합니다. (x * 2) 부분에 괄호는 필요없으나 과정을 보다 더 명확하게 보여줍니다. 있어도 괜찮습니다.

 

def doubleNum(x):
    x = (x * 2)
    return x

 

4) x = (x * 2). 외부에서 함수 내부로 전달되어 들어온 값에 2를 곱해서 다시 x에 저장합니다.

뒤에 있는 x가 외부에서 전달되어 들어온 값이고, 앞에 있는 x가 2배로 증가한 값이 됩니다.

 

 

 

5) return x 부분에 의해 x값이 2배로 증가한 새로운 x값이 num2에 전달, 할당, 저장됩니다.  doubleNum() 함수를 호출한 자리에 이 함수를 대체하여 대신 반환된 값을 적용합니다. 만약, x가 8이라고 가정하면, 2배 값이 새로 x에 저장되어 x는 16이 되고 이 값이 반환값이 됩니다. 다음 식은 반환값으로 대체됩니다. 아래 밑줄 부분이 반환값으로 대체됩니다.

 

num2 = doubleNum(num1)  → 

num2 = 16

 

 

반환값이란?

 

보통 반환값은 함수의 처리 결과값입니다. 함수에는 반환값이 있을 수도 있고 없을 수도 있습니다. return 키워드는 반환값이 있다는 뜻을 나타냅니다. return 다음에는 반환할 대상을 명시합니다.

 

x = 16

return x    # 반환할 대상은 x, 값은 16.

 

return 다음에 반환할 대상을 생략하면 Python에서는 'None'이 반환됩니다.

 

x = 16

return    # 반환할 대상 없음. 반환값은 None.

 

 

참고 : None과 Null의 차이

더보기

(이하 설명은 중급 이상 내용이라 참고만 하세요. ^.^; )

 

None과 Null은 비슷해 보이지만, 언어와 문맥에 따라 다르게 사용됩니다:

파이썬에서의 None :

 

파이썬에서 None은 특별한 상수로, 값이 없음을 나타냅니다. 이는 파이썬 내에서 특정 변수가 정의되었지만 아직 값이 할당되지 않았거나, 함수가 명시적으로 값을 반환하지 않을 때 사용됩니다.

예: variable = None

다른 언어에서의 Null:

Null은 종종 여러 프로그래밍 언어에서 사용되며, 값이 없거나 참조가 없음을 의미합니다. 예를 들어, Java, C#, SQL 등에서 null이 사용됩니다.

예: Object obj = null; (Java)

간단히 말해, 파이썬에서는 None을 사용하고, 많은 다른 언어에서는 null을 사용합니다. 

 

두 개념은 값이 없음을 나타낸다는 공통점이 있지만, 구체적인 언어와 문맥에 따라 사용법과 구현이 다를 수 있습니다.

 

 

 

특정 함수가 return 키워드를 만나면, 해당 함수는 return 줄까지만 처리하고 완결, 마무리, 종결됩니다.

따라서 return 다음 줄에 있는 표현식들은 실행되지 않습니다. 

 

 

  기본 코드와 전혀 상관없는, 마지막에 포함되어 있는 줄..은 그냥 심심해서 넣었습니다. ^.^; 

print("\u00A9")

 

'맑은 고딕' 폰트로 기본 설정된 Thonny IDE에서 유니코드를 사용해 특수문자 ' ⓒ'를 출력합니다.

키보드에 없는 '특수 문자'를 입력, 표시할 때 유용합니다.

 

'\u' 부분은 유니코드를 뜻하고, '00A9'이 해당 특수문자의 유니코드 코드 번호입니다.

 

 

응용 연습 과제

1) 이 프로그램을 Tkinter GUI 버전으로 만들어 보세요.

2) 숫자 2개를 입력받아서 두 숫자를 서로 곱한 결과를 출력하는 프로그램을 만들어 보세요.

 

 

5. Files

 

Not yet! ^.^;

 

 

 

6. Ref.

 

Nope! ^.^;

 

 

Happy Programming!

^.^;