monimoni 2025. 4. 15. 20:28

1. 함수의 개념

  • 특정 작업을 수행하는 명령문의 집합
    • 특정 작업을 함수의 이름으로 대체
    • 유사한 유형의 문제를 해결할 수 있도록 고려
  • 사용자 정의 함수
    • 내장 함수와 달리 사용자의 목적에 따라 정의된 함수
  • 반환값에 따른 함수의 종류
    • 반환값이 없는 함수 : print
    • 반환값이 있는 함수 : input, format, int 등

2. 반환값이 없는 함수 정의

  • 구문형식
def 함수이름(매개변수 리스트) :
	[Tab] 명령 블록
  • 함수 이름은 식별자
    • 식별자 규칙을 그대로 적용 받음
  • 매개변수 리스트는 0개 이상의 값을 함수 내부로 전달
  • 함수 내부에서 매개변수 리스트는 변수와 동일하게 사용

3. 반환값이 있는 함수 정의

  • 구문형식
def 함수이름(매개변수 리스트):
	[Tab] 명령 블록
	[Tab] return 반환값 리스트
  • 실행 후 결과값을 남기는 함수
    • return 명령어와 반환값을 연결
    • 함수 내부에 여러 개의 return 사용 가능
      • 첫번째 return이 나오는 순간, 그 뒤의 코드들은 실행되지 않는다.
    • return 값이 복수일 경우 vol1, surf1 = 함수이름(매개변수1, 매개변수2)를 통해 각각의 변수에 return 값을 따로따로 저장할 수 있다.

4. format 함수 ( 실수 데이터 )

  • 실수 데이터 형식화
    • 형식 지정자
  • 예시
    • format(3.141592, ">10.2f")
      • : 정렬방향
      • 10 : 전체 필드 폭
      • .2 : 소수점 이하 자리수
      • f : 데이터 타입 ( f인 경우 소수를 의미 )

5. 동시 할당의 개념

  • 복수개의 변수에 값을 동시에 할당
    • 변수의 개수에 상응하는 값을 콤마( , )로 나열
  • 예시
    • temp = 27 season = "summer” → temp, season = 27, "summer”

6. 교환( swap )

  • 복수 개의 변수에 할당하는 값을 맞바꿈
  • 예시
    • 초기 상태 rad = 30 hei = 20 → 교환 rad, hei = hei, rad

7. 값의 전달

  • 함수가 호출될 때, 값이 형식 매개변수에 전달
    • 매개변수가 전달되는 것이 아닌, 값이 전달되는 것
x = 1
print("x의 값은", x) # x의 값은 1
inc(x) # 오류 발생 : inc 함수는 밑에 정의되어있음

def inc(x):
    x = x + 1
    print("x의 값은", x) # x의 값은 2
    
inc(x) # 실행 성공 : 함수가 정의된 후에 함수를 사용해야 함
print("x의 값은", x) # x의 값은 1

8. 변수의 스코프

  • 프로그램에서 변수가 참조될 수 있는 영역
    • 전역변수 : 프로그램 전체 영역에서 접근
    • 지역변수 : 선언된 함수 내부에서만 접근

9. 기본 매개변수

  • 함수 호출 시 매개변수가 전달되지 않을 경우 기본값이 전달되는 매개변수
  • 예시
    • print("Hello", "I am Python") → print("Hello", "I am Python", sep = "")
      • seq의 기본값으로 “”이 설정되어있기에 둘은 동일한 결과를 나타낸다.

10. 기본 매개변수의 정의

  • 구문형식
def 함수이름(매개변수 리스트, 매개변수=값 리스트):
    [Tab] 명령 블록
    [Tab] return 반환값 리스트
  • 일반 매개변수 앞에 위치할 수 없음

11. 가변 매개변수

  • 함수 호출 시 매개변수를 사용자가 원하는 개수만큼 지정할 수 있는 매개변수

12. 가변 매개변수의 정의

  • 구문형식
def 함수이름(매개변수 리스트, *가변 매개변수):
    [Tab] 명령 블록
    [Tab] return 반환값 리스트
  • 일반 매개변수 앞에 위치할 수 없음
  • 가변 매개변수는 1개만 사용 가능
    • 가변 매개변수명 앞에는 *를 붙여야 한다.
728x90