반응형
Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

Learner's Log님의 블로그

함수(Function) 본문

Python/[A to Z]Python

함수(Function)

Learner's Log 2025. 2. 6. 15:19

Python 함수 정의

프로그래밍을 하다 보면 같은 코드를 반복해서 작성해야 하는 경우가 많습니다. 그럴 때 함수(Function)를 사용하면 코드가 훨씬 깔끔해지고 유지보수도 쉬워집니다.

  • 코딩할 때 실행한 결과를 화면이나 파일로 출력해야 할 때
  • 파이썬으로 코드를 작성할 때 키보드와 화면으로 입출력 하는 방법과 파일로 입출력 하는 방법
  • 출력을 위한 print() 함수, 데이터 타입을 알기 위한 type() 함수 등이 바로 내장 함수

☑️함수(Function)의 기본 구조

  • 수학 함수에서 입력 값을 프로그래밍 함수에서는 인자
  • 프로그래밍에서는 이 인자를 통해 함수에 값을 전달할 수 있음
  • 프로그래밍의 함수는 수학 함수와 달리 인자와 반환 값이 없을 수도 있음
  • 함수 명은 주로 영문 알파벳 소문자로 구성되며 가독성을 높이기 위해 밑줄(_)을 이용
  • 함수 명을 입력한 후에는 소괄호(( ))와 콜론( : ) 을 입력

Python에서 함수를 만들려면 def 키워드를 사용해야 합니다.

def 함수이름(매개변수1, 매개변수2, ...):
    실행할 코드
    return 반환값
Python 함수 기본구조

1. 인자도 반환 값도 없는 함수

가장 단순한 형태의 함수로, 매개변수(인자)도 없고 반환값도 없는 형태입니다.

 

def hello():
    print("안녕하세요!")
    
hello()

 

출력 결과:

안녕하세요!

 

• 함수를 정의하고 실행하면 아무 일도 일어나지 않음
• 오류가 발생하지 않고 아무 일도 일어나지 않는다면 함수가 잘 정의된 것
• 만약 오류가 발생한다면 잘못된 곳을 수정한 후 다시 실행

2. 인자는 있으나 반환 값이 없는 함수

  • 인자는 있지만 반환 값이 없는 함수를 정의하고 호출
  • 인자(문자열) 하나를 넘겨받아 출력하는 함수를 정의
def my_student_info(name, school_ID, phoneNumber):
    print("----------------------")
    print("- 학생이름:", name)
    print("- 학급번호:", school_ID)
    print("- 전화번호:", phoneNumber)

 

출력 결과:

my_student_info("현아", "01", "01-235-6789")
my_student_info("진수", "02", "01-987-6543")

 

  • 함수에서 인자는 하나일 수도 있고 여러 개일 수도 있음
  • 함수를 정의할 때 세 개의 인자를 넘겨받도록 만들었기 때문에 호출할때도 세 개의 인자를 입력해서 함수를 호출 함수 정의와 호출
  • 정의한 my_student_info() 함수를 수정하면 이 함수를 호출하는 모든코드에 적용됨

3. 인자도 있고 반환 값도 있는 함수

  • 인자를 받아서 처리한 후에 값을 반환하는 함수
  • 가로와 세로 길이 인자 두 개를 받아서 넓이를 계산한 후 그 결과를 반환하는 함수를 정의
def add(a, b):
    return a + b

result = add(5, 3)
print(result)  # 출력: 8

출력 결과:

8

 

  • 파이썬에서는 함수의 인자로 리스트, 세트, 튜플, 딕셔너리도 사용 있음

4. 변수의 유효 범위(Scope)

함수 안에서 생성한 변수는 함수를 호출해 실행되는 동안만 사용할 수 있고 함수 실행이 끝나면 더는 사용할 수 없음

  • 지역 변수(Local Variable): 함수 안에서 선언된 변수 → 함수 안에서만 사용 가능
  • 전역 변수(Global Variable): 함수 밖에서 선언된 변수 → 프로그램 전체에서 사용 가능
x = 10  # 전역 변수

def my_func():
    x = 5  # 지역 변수
    print("함수 안의 x:", x)

my_func()
print("함수 밖의 x:", x)

 

출력 결과:

함수 안의 x: 5
함수 밖의 x: 10
  • 지역 변수는 함수가 호출될 때 임시 저장 공간(메모리)에 할당되고 함수 실행이 끝나면 사라짐
  • 다른 함수에서 같은 이름으로 변수를 사용해도 각각 다른 임시 저장 공간에 할당되므로 독립적으로 동작

변수를 함수 안에서 정의했느냐, 함수 밖에서 정의했느냐에 따라 코드 내에서 영향을 미치는 유효 범위(scope)가 달라짐

5. 람다(lambda) 함수

lambda를 사용하면 한 줄짜리 짧은 함수를 만들 수 있습니다.

  • 람다 함수는 구성이 단순해 간단한 연산을 하는 데 종종 사용됨 
#람다 함수의 기본 구조
#lambda 〈인자〉 : <인자 활용 수행 코드>
#<인자>는 콤마(,)로 구분해 여러 개를 사용할 수 있음

add = lambda x, y: x + y
print(add(2, 3))  # 출력: 5

출력 결과:

5

6. 형 변환 함수(Type Conversion)

Python에서는 데이터 타입을 변환할 수 있는 형 변환 함수가 있습니다.

함수 설명 예시
int() 문자열 → 정수 변환 int("10") → 10
float() 문자열 → 실수 변환 float("3.14") → 3.14
str() 숫자 → 문자열 변환 str(100) → "100"
list() 튜플 → 리스트 변환 list((1, 2, 3)) → [1, 2, 3]
tuple() 리스트 → 튜플 변환 tuple([1, 2, 3]) → (1, 2, 3)

정리

  • Python에서 함수를 만들 때 def 키워드를 사용한다.
  • 인자 & 반환 값에 따른 다양한 함수를 활용한다.
  • 변수의 유효 범위를 구분해서 사용한다.
  • 람다 함수를 이용해 간단한 기능을 구현할 수 있다.
  • 형 변환 함수를 이용하면 데이터 타입을 자유롭게 변경할 수 있다.
반응형