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!
^.^;
'Programming > Python' 카테고리의 다른 글
Py5 연습 - 001 (0) | 2025.03.29 |
---|---|
Tkinter Entry 위젯 - 002 : StringVar() (0) | 2025.02.16 |
Python Intro - 002 - 대문자 시그마 기호와 파이 기호 (0) | 2025.02.13 |
Tkinter Intro Ex-001 (Update 1.) (0) | 2024.12.22 |
[ 고급 ] 파일명 유틸리티 SR. (v.0.0.2 beta 002) - Updates #3, 4 (0) | 2024.11.26 |