[Python] 9강 - 함수

2025. 4. 17. 21:24·공부/⚡Python

1. 함수의 이해

(1) 함수의 개념 

 - 특정 작업을 수행하는 명령문의 집합을 의미한다. ( 코드 블록에 이름을 붙여놓은 것 )

 - 필요할 때마다 해당 이름을 호출해서 반복적으로 사용할 수 있는 재사용 가능한 코드 집합을 의미한다.

 - 함수를 활용하면 코드의 가독성 및 유지보수가 좋아짐

 

(2) 함수의 종류

[1] 내장 함수

 - 파이썬의 내장 함수로는 대표적으로 print() , input() , format() , int() 등 다양한 함수가 내장이 되어있음.

[2] 사용자 정의 함수

def add(a, b):
  print(a + b) # a + b 결과값 출력

add(1, 2) # 함수 호출

 - 사용자 정의 함수는 직접 함수를 만들어서 명령문 로직을 만들어 내는 것이다.

 - 해당 함수를 호출 하면 해당 함수의 코드블록이 실행이 된다.

[3] 반환값이 없는 함수

def add(a, b):
  print(a + b) # a + b 결과값 출력

add(1, 2) # 함수 호출

 - return 이 없는 경우 반환값이 없는 함수이다.

[4] 반환값이 있는 함수

def add(a, b):
  return a + b

sum = add(1, 2) # 반환값을 받아 변수에 할당
print(sum) # 변수값 출력

 - return 을 통해 함수가 끝날 때 반환값을 전달 할 수 있다. 전달 받은 반환값은 함수 호출 부분에 다시 돌아오게 된다.

 - 내장함수로는 format() 함수 input() 함수 등이 있다.

 

(3) 매개변수

 - 함수에 값을 전달해주는 변수를 "매개변수"라고 한다.

def add(a, b): # 매개변수
  print(a + b)

add(1, 2) # 함수 호출 시 넣는 이 변수를 매개변수라함.

 - 함수에 a, b 로 어떠한 값을 받는 과정이 결국 변수 선언과 초기화와 비슷함. 즉, 변수로 볼 수 있음.

 


2. 변수의 스코프

(1) 전역변수

 - 프로그램 전체 영역에서 접근이 가능한 변수

count = 0  # 전역 변수

def increment():
    global count
    count += 1

increment()
print(count)  # 1

 

(2) 지역변수

 - 특정 블록(함수, 조건문, 반복문 등) 안에서만 사용이 가능한 변수.

def greet():
    message = "Hello"  # 지역 변수
    print(message)

greet()
# print(message)  # 오류: message는 함수 밖에서는 존재하지 않음

 

(3) 가변 매개변수

 - 매개변수의 개수가 정해져 있지 않은 경우에도 메서드에 인자를 넘길 수 있도록 하는 기능이다.

 - 쉽게 말해, 매개변수로 값을 원하는 만큼 넣어도 해당 함수에선 배열로 전부 넣어줌. 가변적임.

def func(*args):
    print(args)  # 튜플 형태로 들어옴

func(1, 2, 3)  # 출력: (1, 2, 3)

'공부 > ⚡Python' 카테고리의 다른 글

[Python] 11강 - 모듈  (0) 2025.04.21
[Python] 10강 - 객체지향  (1) 2025.04.18
[Python] 파이썬 인터프리터(Interperter) 쉽게 이해하기  (1) 2025.04.17
[Python] 7강 - 반복 구조  (0) 2025.04.17
[Python] 6강 - 선택 구조  (0) 2025.04.16
'공부/⚡Python' 카테고리의 다른 글
  • [Python] 11강 - 모듈
  • [Python] 10강 - 객체지향
  • [Python] 파이썬 인터프리터(Interperter) 쉽게 이해하기
  • [Python] 7강 - 반복 구조
junbin2
junbin2
java.lang.NullPointerException
  • junbin2
    bin's Development Diary
    junbin2
  • 전체
    오늘
    어제
    • 전체보기 (233)
      • 방송통신대학교 (87)
        • ⚙️컴퓨터의 이해 (11)
        • 💻컴퓨터과학 개론 (15)
        • 🔢자료구조 (14)
        • 🧬알고리즘 (10)
        • ⚙️운영체제 (14)
        • 🕸️이산수학 (11)
        • 🌍유비쿼터스 컴퓨팅 (11)
        • 🖥️컴퓨터과학과 (1)
      • 공부 (72)
        • 📚백엔드 공부 (6)
        • ☕Java (23)
        • 🌳Spring (13)
        • ⚙️C (12)
        • ⚡Python (15)
        • JavaScript (1)
        • 🛢️Database (0)
        • Algorithm Problem Solving (2)
      • 네트워크 (7)
        • 📜HTTP (7)
      • 스파르타코딩클럽 (64)
      • 정보 (2)
      • 정리가 필요한 글 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    Java
    C언어
    그래프
    알고리즘
    Python
    방송통신대학교
    자료구조
    자바
    방통대
    컴퓨터의 이해
    컴퓨터과학과
    운영체제
    함수
    파이썬
    유비쿼터스
    컴퓨터과학 개론
    이산수학
    방송대
    배열
    spring
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
junbin2
[Python] 9강 - 함수
상단으로

티스토리툴바