-
[python] 함수python 2025. 5. 26. 10:42
함수
Python에서 함수(Function)란, 어떤 작업을 수행하는 코드 블록에 이름을 붙인 것입니다. 특정 기능을 하나로 묶어서 필요할 때마다 재사용할 수 있게 만들어줍니다.
🔍 함수의 정의
함수는 입력(인자)을 받아 처리하고, 결과(출력)를 반환하는 구조입니다.
🧱 함수의 구성 요소
def 함수를 정의할 때 사용하는 키워드 함수 이름 함수의 이름 (예: add, greet) 매개변수(Parameter) 함수가 입력으로 받을 변수 본문 함수가 수행할 코드 return 결과를 반환 (필수는 아님) 🧪 예시
def add(a, b): # a, b는 매개변수 result = a + b return result # 결과 반환 sum = add(3, 5) # 함수 호출 (3, 5는 인자) print(sum) # 출력: 8
✅ 함수의 장점
- 코드 재사용: 같은 코드를 반복하지 않고 호출만 하면 됨
- 가독성 향상: 기능별로 코드를 분리해 읽기 쉬움
- 유지보수 용이: 특정 기능만 수정하면 전체 코드가 자동으로 반영됨
- 모듈화 가능: 큰 프로그램을 작게 나눌 수 있음
📚 함수의 종류
사용자 정의 함수 직접 만든 함수 def my_function(): 내장 함수 파이썬에 기본으로 포함 print(), len(), sum() 익명 함수 lambda로 정의 lambda x: x*2 실습
def open_account(): print("새로운 계좌가 생성되었습니다.") def deposit(balance, money): print("입금이 완료되었습니다. 잔액은 {0}원 입니다.".format(balance + money)) return balance + money balance = 0 # 잔액 balance = deposit(balance, 1000)
입금이 완료되었습니다. 잔액은 1000원 입니다.
def withdraw(balance, money): #출금 if balance >= money: print("출금이 완료되었습니다. 잔액은 {0}원 입니다.".format(balance - money)) return balance - money else: print("출금이 완료되지 않았습니다. 잔액은 {0}원 입니다.".format(balance)) return balance balance = 1000 # 잔액 balance = withdraw(balance, 500)
출금이 완료되었습니다. 잔액은 500원 입니다.
def withdraw(balance, money): #출금 if balance >= money: print("출금이 완료되었습니다. 잔액은 {0}원 입니다.".format(balance - money)) return balance - money else: print("출금이 완료되지 않았습니다. 잔액은 {0}원 입니다.".format(balance)) return balance balance = 0 # 잔액 balance = withdraw(balance, 500)
출금이 완료되지 않았습니다. 잔액은 0원 입니다.
def deposit(balance, money): print("입금이 완료되었습니다. 잔액은 {0}원 입니다.".format(balance + money)) return balance + money def withdraw_night(balance, money): # 저녁에 출금 commission = 100 # 수수료 100원 return commission, balance - money - commission balance = 0 # 잔액 balance = deposit(balance, 1000) commission, balance = withdraw_night(balance, 500) print("수수료 {0}원 이며, 잔액은 {1}원 입니다.".format(commission, balance))
입금이 완료되었습니다. 잔액은 1000원 입니다.
수수료 100원 이며, 잔액은 400원 입니다.실습2
def profile(name, age, main_lang): print("이름 : {0}\t 나이: {1}\t 주 사용 언어 : {2}" \ .format(name, age, main_lang)) profile("유재석", 20, "파이썬") profile("김태호", 25, "자바")
이름 : 유재석 나이: 20 주 사용 언어 : 파이썬
이름 : 김태호 나이: 25 주 사용 언어 : 자바# 기본값 지정 def profile(name, age=17, main_lang="파이썬"): print("이름 : {0}\t 나이: {1}\t 주 사용 언어 : {2}" \ .format(name, age, main_lang)) profile("유재석") profile("김태호")
이름 : 유재석 나이: 20 주 사용 언어 : 파이썬
이름 : 김태호 나이: 25 주 사용 언어 : 자바def profile(name, age, main_lang): print(name, age, main_lang) profile(name="유재석", main_lang="파이썬", age=20) profile(main_lang="자바", age=25, name="김태호")
유재석 20 파이썬
김태호 25 자바실습3
Python에서 가변인자(Variable-length Arguments)는 함수에 정해지지 않은 개수의 인자를 받을 수 있게 해주는 기능입니다.
인자의 개수가 유동적일 때 유용합니다.
def profile(name, age, *language): print("이름 : {0}\t나이: {1}\t".format(name, age), end=" ") for lang in language: print(lang, end="") print() profile("유재석", 20, "Python", "Java", "C", "C++", "C#") profile("김태호", 25, "Kotlin", "Swift")
'python' 카테고리의 다른 글
[python] 표준 입출력 (0) 2025.05.27 [python] 지역변수와 전역변수 (0) 2025.05.26 [python] continue와 break (0) 2025.05.23 [python] while (0) 2025.05.23 [python] for (반복문) (0) 2025.05.23