파이썬의 입출력
파이썬 프로그램은 입력(Input) → 처리(Process) → 출력(Output) 의 구조로 동작합니다.
입출력은 다음과 같이 나뉩니다.
구분설명
| 입력 | 사용자 또는 파일에서 데이터 받기 |
| 출력 | 화면 또는 파일에 데이터 보내기 |
| 파일 입출력 | 파일 읽기/쓰기 |
1. 함수 (Function)
함수는 입력을 받아 특정 작업을 수행한 후 결과를 반환하는 코드 묶음입니다.
기본 구조
def 함수이름(매개변수):
실행문
return 결과값
실행문
return 결과값
예제
def add(a, b):
return a + b
print(add(3, 4))
return a + b
print(add(3, 4))
출력
7
2. 입력값이 있는 함수
매개변수를 사용하여 데이터를 전달합니다.
def add(a, b):
result = a + b
return result
result = a + b
return result
3. 입력값이 없는 함수
def say():
return "Hello"
print(say())
return "Hello"
print(say())
4. 결과값이 없는 함수
return이 없는 경우입니다.
def add(a, b):
print(a + b)
print(a + b)
5. 입력값과 결과값이 모두 없는 함수
def say():
print("Hello")
print("Hello")
함수 형태 정리
입력출력예
| O | O | add(a,b) |
| O | X | print 함수 |
| X | O | say() |
| X | X | 단순 출력 함수 |
6. 매개변수 지정 호출
순서를 바꾸어 호출할 수 있습니다.
def add(a, b):
return a + b
print(add(b=3, a=7))
return a + b
print(add(b=3, a=7))
출력
10
7. 입력값이 몇 개가 될지 모르는 경우
*매개변수 사용
def add_many(*args):
result = 0
for i in args:
result += i
return result
result = 0
for i in args:
result += i
return result
사용
print(add_many(1,2,3))
print(add_many(1,2,3,4,5))
print(add_many(1,2,3,4,5))
8. 여러 개의 결과값 반환
def calc(a, b):
return a+b, a-b
return a+b, a-b
사용
sum, sub = calc(10,5)
9. return의 의미
return은 함수를 종료하고 값을 반환합니다.
def say_nick(nick):
if nick == "바보":
return
print(nick)
if nick == "바보":
return
print(nick)
10. 매개변수 초기값 설정
기본값 설정이 가능합니다.
def say(name, age=20):
print(name, age)
print(name, age)
11. 키워드 매개변수 (**kwargs)
딕셔너리 형태로 받습니다.
def print_kwargs(**kwargs):
print(kwargs)
print(kwargs)
사용
print_kwargs(name="홍길동", age=30)
출력
{'name':'홍길동','age':30}
12. 함수 안에서 변수 사용
지역 변수
함수 안에서만 사용되는 변수
def func():
a = 10
a = 10
전역 변수
함수 밖에서 선언된 변수
a = 10
global 키워드
함수 내부에서 전역 변수 수정
a = 1
def func():
global a
a = 2
def func():
global a
a = 2
13. lambda 함수
간단한 함수를 한 줄로 작성할 때 사용합니다.
add = lambda a, b: a + b
print(add(3,4))
print(add(3,4))
14. 사용자 입력 (input)
사용자로부터 데이터를 입력받습니다.
name = input("이름을 입력하세요: ")
input은 항상 문자열(str) 입니다.
숫자로 사용하려면 변환해야 합니다.
num = int(input("숫자 입력: "))
15. 출력 (print)
기본 출력
print("Hello")
여러 값 출력
print("이름", "홍길동")
문자열 연결
print("Hello " + "Python")
줄바꿈 제거
print("Hello", end=" ")
print("Python")
print("Python")
출력
Hello Python
16. 문자열 포맷팅 출력
% 포맷
name = "홍길동"
print("이름은 %s 입니다." % name)
print("이름은 %s 입니다." % name)
format()
print("이름은 {} 입니다.".format("홍길동"))
f-string (가장 많이 사용)
name = "홍길동"
print(f"이름은 {name} 입니다.")
print(f"이름은 {name} 입니다.")
17. 파일 읽기 / 쓰기
파일 열기
f = open("test.txt", "w")
모드 종류
모드설명
| r | 읽기 |
| w | 쓰기 |
| a | 추가 |
| b | 바이너리 |
파일 쓰기
f = open("test.txt", "w")
f.write("Hello")
f.close()
f.write("Hello")
f.close()
파일 읽기
f = open("test.txt", "r")
data = f.read()
print(data)
f.close()
data = f.read()
print(data)
f.close()
18. 파일 한 줄씩 읽기
f = open("test.txt")
line = f.readline()
print(line)
line = f.readline()
print(line)
19. 파일 전체 줄 읽기
lines = f.readlines()
20. with 문 사용 (권장)
파일을 자동으로 닫아줍니다.
with open("test.txt", "r") as f:
data = f.read()
data = f.read()
입출력 핵심 정리표
기능함수
| 사용자 입력 | input() |
| 화면 출력 | print() |
| 파일 열기 | open() |
| 파일 쓰기 | write() |
| 파일 읽기 | read() |
| 자동 파일 종료 | with |
함수 핵심 요약
개념설명
| 함수 정의 | def |
| 결과 반환 | return |
| 가변 매개변수 | *args |
| 키워드 매개변수 | **kwargs |
| 익명 함수 | lambda |
| 전역 변수 사용 | global |
최종 핵심 정리
- 함수는 코드 재사용을 위해 사용된다.
- input()은 사용자 입력을 받는다.
- print()는 화면에 출력한다.
- 파일 입출력은 open()으로 시작한다.
- with 문을 사용하면 파일을 자동으로 닫는다.
- lambda는 간단한 함수를 한 줄로 작성할 때 사용한다.
'복습(Python)' 카테고리의 다른 글
| 03 - 3 for문 (0) | 2026.03.04 |
|---|---|
| 03 - 2 while문 (0) | 2026.03.04 |
| 03 - 1 if문 (0) | 2026.03.04 |
| 02 - 7 변수 (0) | 2026.03.03 |
| 02 - 6 불(bool) 자료 (0) | 2026.03.03 |