Skip to content

함수

  • 특정 작업을 수행하는 명령문의 집합 특정 작업을 함수의 이름으로 대체
    유사한 유형의 문제를 해결할 수 있도록 설계 추상화
  • 정의 주체에 따른 분류 내장함수: 파이썬 내부에 이미 만들어져 있는 함수
    사용자 정의 함수: 사용자의 목적에 따라 정의된 함수
  • 반환값 유무에 따른 분류 반환값이 없는 함수: 내부 동작 수행 후 종료 print
    반환값이 있는 함수: 내부 동작 수행 후 결과를 반환 input max int 등
def 함수이름(매개변수 리스트):
명령 블록
  • 함수 이름은 식별자
  • 매개변수 parameter 리스트는 0개 이상의 값을 함수 내부로 전달
  • 함수 내부에서 매개변수 리스트에 포함된 각 매개변수는 변수와 동일하게 사용
def 함수이름(매개변수 리스트):
명령 블록
return 반환값 리스트
  • 실행 후 결과값을 남기는 함수
    • return 키워드와 반환값을 나열 함수를 호출한 곳으로 결과값을 전달
    • 함수 내부에 여러 개의 return 사용 가능 return 시 함수 즉시 종료

복수개의 변수에 값을 동시에 할당 / 변수의 개수에 상응하는 값을 콤마로 나열

temp = 27
season = "summer"
temp, season = 27, "summer"

복수의 변수에 할당된 값을 맞바꾸는 연산

temp = hei
rad = hei
hei = temp

rad, hei = hei, rad

함수가 호출될 때, 값이 형식 매개변수에 전달

x = 1
print("x의 값은", x)
inc(x)
def inc(x):
x = x + 1
print("x의 값은", x)
print("x의 값은", x)

프로그램에서 변수가 참조될 수 있는 영역

  • 전역변수 함수 외부에서 선언 프로그램 전체 영역에서 접근
  • 지역변수 선언된 함수 내부에서만 접근
x = 1
def inc1():
y = x + 1
print("y의 값은", y)
inc1()
print("x의 값은", x)
print("y의 값은", y)

y의 스코프는 함수 내부 35번 줄 / x의 스코프는 프로그램 전체 19번 줄

프로그램에서 변수가 참조될 수 있는 영역

  • 전역변수 함수 외부에서 선언 프로그램 전체 영역에서 접근
  • 지역변수 선언된 함수 내부에서만 접근
x = 1
def inc1():
y = x + 1
print("y의 값은", y)
inc1()
print("x의 값은", x)
print("y의 값은", y)

구문형식

def 함수이름(매개변수 리스트, 매개변수=값 리스트):
명령 블록
return 반환값 리스트

일반 매개변수 앞에 위치할 수 없음

def hello(name, msg="반갑습니다"):
print(name, msg)

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

x = 10
y = 20
z = 30
print("x는", x, "y는", y, "z는", z)

구문형식

def 함수이름(매개변수 리스트, *가변 매개변수):
명령 블록
return 반환값 리스트
  • 일반 매개변수 앞에 위치할 수 없음
  • 가변 매개변수는 1개만 사용 가능