[Python]TIL 13일차

Cherta·2024년 5월 1일
0

[TIL]

목록 보기
13/30

함수(function)

  • 함수(function) : 입력을 받아 원하는 처리를 한 후 출력을 내보내는 일련의 작업을 수행하는 코드 블록

  • 함수의 필요성

    • 코드 재사용 : 반복되는 코드를 함수로 정의하여 재사용
    • 모듈화 : 프로그램을 여러 개의 작은 모듈로 나누어 개발 및 관리 가능
    • 유지 보수 용이성 : 함수는 각각의 기능을 독립적으로 정의하므로, 수정이나 확장이 필요할 때 해당 함수만 수정하면 됨
    • 가독성 향상 : 함수는 코드의 의도를 명확하게 표현할 수 있으며, 복잡한 작업을 함수로 분해하여 이해하기 쉬움
  • 함수의 정의와 호출 방법

  • 함수의 정의

def 함수이름(매개변수1, 매개변수2, ...):
	함수 내부에서 수행할 작업
    return 결과값  # (선택적) 함수의 결과를 반환
  • 함수의 호출
결과 = 함수이름(인수1, 인수2, ...)

전역변수(Global Variables)와 지역변수(Local Variables)

  • 전역변수(Global Variables) : 프로그램 전체에서 접근 가능한 변수로, 어디서든지 사용 가능
  • 지역변수(Local Variables) : 특정한 범위(함수 내부)에서만 접근 가능한 변수로, 해당 범위를 벗어나면 사용 불가
  • 전역변수와 지역변수의 차이
    • 전역변수는 프로그램이 시작될 때 생성되고, 프로그램이 종료 될때 까지 메모리에 유지
      지역변수는 해당 범위에서 생성되고, 범위를 벗어나면 메모리에서 제거
    • 전역변수는 여러 함수에서 공통적으로 사용되는 값을 저장할 때 유용
      지역변수는 해당 함수에서만 유효하고 다른 함수에서는 사용 불가
    • 전역변수를 너무 많이 사용하면 코드의 가독성이 떨어지고 디버깅이 어려워짐
      지역변수는 함수가 종료되면 메모리에서 제거되므로 메모리 관리에 효율적

인수(argument)와 매개변수(parameter)

  • 인수(Argument) : 함수를 호출할 때 함수에 전달되는 값
  • 매개변수(Parameter) : 함수를 정의할 때 함수가 받아들이는 값을 지정하는 변수
  • 인수와 매개변수의 차이
    • 인수는 함수를 호출할 때 전달되는 값이며, 함수를 호출할 때마다 다를 수 있음
      매개변수는 함수의 헤더부분에서 정의되며, 함수 내부에서 사용
    • 인수는 함수 호출시 매개변수에 전달 되는 값으로, 해당 값은 함수 내부에서 매개변수로 사용
      매개변수는 함수를 정의할 때 매개변수를 정의하고, 함수가 호출될 때 매개변수에 해당하는 값을 전달받음
def greet(name):  # 여기서 'name'은 매개변수
    print("Hello, " + name + "!")
    
# 함수 호출할 때 전달되는 값이 인수
greet("Alice")  # 함수 호출 시 "Alice"는 greet 함수의 매개변수 'name'에 전달

위치 인수(positional argument)와 키워드 인수(keyword argument)

  • 위치 인수(positional argument) : 함수 정의에서 매개변수의 위치에 따라 전달 하는 인수
def greet(name, age):
    print("안녕하세요", name, "님! 나이는 ", age, "세입니다.")

# 위치 전달인자 사용
greet("철수", 30)
  • 키워드 인수(Keyword Arguments) : 함수를 호출할 때, 인수를 순서대로 전달하는 대신 특정 매개변수에 값을 할당하여 전달 하는 인수
def greet(name, age):
    print("이름:", name)
    print("나이:", age)

# 키워드 인수를 사용하여 함수 호출
greet(name="Alice", age=30)

기본값(Default Values)

  • 기본값(Default Values) : 매개변수에 인수가 전달되지 않았을 때 기본값으로 사용
def greet(name="Guest", age=25):
    print("이름:", name)
    print("나이:", age)

# 기본값이 설정된 함수 호출
greet()

0개의 댓글