sein-choi 님의 블로그

[Python : basic] 함수 본문

python/기본

[Python : basic] 함수

sein-choi 2024. 12. 14. 19:17

함수

특정 작업을 수행하는 코드의 집합이다

반복적으로 사용하는 코드를 하나의 함수로 정의해서 필요할 때마다 호출해서 재사용할 수 있다

1. 파라미터(매개변수) : 함수 입력 받는 값

2. 함수 내용 : 함수가 호출되었을 떄 실행되는 코드 블록

3. 출력값(반환값) : 함수가 작업 완료 후 반환하는 값

 

✅함수 정의

특정 작업을 수행하는 함수를 만들고 그 함수가 호출할 수 있도록 이름과 구조를 지정하는 것

 

함수 정의 방법

파라미터가 없다면 빈 괄호를 입력

파라미터가 여러개인 경우 ,으로 구분

출력값이 없을 때 return 생략 가능

 

함수 호출

정의된 함수가 작업을 수행하도록 하는 것

 

 

함수 호출 방법

 

코드 예시1. 파라미터와 출력값이 없는 경우

# 함수 정의 : hello python 출력하기
def hello ():
	print('hello python') 
    
# 함수 호출
hello() # hello python

 

코드 예시2. 파라미터와 출력값이 있는 경우, 파라미터에 값 지정X

# 함수정의 : 더하기 함수 만들기
def add (a,b):
    total = a + b
    return total # 3
    
# 함수 호출
result = add(1,2)
print(result)

파라미터 함수를 정의했을 때의 순서에 맞춰 a는 1, b는 2의 값이 입력된다

 

코드 예시3. 파라미터와 출력값이 있는 경우, 파라미터에 값 지정

# 함수정의 : 더하기 함수 만들기
def add (a,b):
    total = a + b
    return total # 3
    
# 함수 호출
result = add(b=2, a=1)
print(result)

파라미터에 값을 지정했기 때문에 값의 순서가 변경되어도 코드 예시3과 같은 결과를 반환한다

 

✅지역변수 vs 전역변수

지역변수 : 함수가 실행되는 동안에만 사용되는 함수로 함수가 종료되면 소멸하는 변수이다

  • 함수 내부에세만 유효
  • 함수가 호출될 때 생성되고 함수 실행이 끝나면 메모리에서 삭제된다
  • 따라서 동일한 함수가 외부에 존재하더라고 서로 영향을 미치지않는다
  • 독립성
  • 각 함수 호출마다 지역변수는 독립적으로 존재한다
  • 여러 번의 함수 호출 사이에 지역변수의 값이 유지되지않는다
  • 호출마자 새로운 값으로 초기화 된다
  • 함수 외부 접근 불가
  • 함수 외부에 해당 함수의 지역변수에 접근할 수 없다
  • 함수 외부와의 불필요한 상호작용을 방지한다

 

전역변수 : 프로그램의 모든 함수에서 접근할 수 있는 변수이다

  • 함수 외부에서 선언된다
  • 프로그램이 종료될 때까지 유지된다
  • 프로그램 어디서든 읽고 쓰기가 가능하다
  • 과도하게 사용하면 코드의 복잡성과 오류 가능성이 증가한다


출저 : 스파르타코딩, 데이콘