파이썬 베이직 3회차 이론 [37일차]

차현빈·2025년 12월 9일

1 함수의 기본 구조

1. 함수 정의

다시 사용하기 위해서 미리 선언 그리고 나중에 호출

  • 함수 구조
    def 함수이름():
    함수내용 -> 자주 쓰이는 내용

반복되는 부분을 캐치하고 함수를 만들어보자

  • 호출
    함수이름()

함수 선언부가 호출부보다 위쪽에 있어야 함

2. 매개변수와 인수

- def greet(name): # 여기서 선언부 name은 **매개변수**라고 함
        print(f"hello, {name}")

- greet("hannah") # 여기서 호출부 **hannah**는 인자값 또는 인수라고 함

예시

def add(a, b): # **선언부 a, b (매개변수 : parameter)**
        return a + b

result = add(1, 2) # **호출부 1,2 (인자, 인수 : argument)**

return은 값을 돌려주기 위해서 씀 (이 값을 사용하고 싶을 때)

보통 변수에 실행 결과를 담아서 사용
반면 print는 값을 보여주기만 함

3. 기본값

def greet(name="Guest"): **# name값이 비어서 실행된다면 Guest룰 name으로 줘라**
        print(f"Hello, {name}")

greet("Hannah") # Hello, Hannah
greet() # Hello, Guest

4. 가변인자(매개변수)

쓰는 이유: 받을 인수의 값이 여러 개인데, 정해져있지 않을 때

  • 일반 함수 (인자 개수 고정)
def add(a, b, c):
        return a + b + c
result = add(1,2,3)

3개의 값만 넣을 수 있음

  • 가변 인자 함수 (인자 개수 유연)
def add_(*nums):
        return sum(*nums)
        
add_(1, 2)
add_(1, 2, 3)

add(1, 2) 이것도 되고, add(1, 2, 3) 이것도 됨
즉, 개수가 상관 없어짐

5. 키워드 가변인자 (여러 값 + 키워드)

def introduce(**kwargrs): # 딕셔너리 형태
print(kwargrs)
introduce(name = "Kim", age = 20, classes = "A") # 값을 여러개 넣을 수 있음

딕셔너리 형태의 가변인자라고 보면 됨

6. 기타

  • 연습할 때 함수를 보고 이 함수 가변인자로 바꿀 수 있나를 보는 습관을 만들면 좋음

  • return "kim", 20 이렇게 return에 여러 개의 값이 들어갈 수도 있음

2. 함수 스코프(범위)

x = 15 # 수정을 잘 하지 않는 값 (전역변수)

def func():
    x = 10 # 범위가 함수 내부가 됨 (지역변수)
    print(x) # 10 (함수 내부 값)
print(x) # 15 (함수 외부 값)

1. global 키워드

바깥의 변수를 가져와서 변경이 가능

count = 0 # 전역변수 count

def increase():
       global count # count는 함수 밖의 전역변수임을 선언
       count += 1 # 밖의 count를 값을 1 증가 시켜서 1이 됨 

def decrease():
       global count
       count -= 1

global 키워드를 쓰면 업데이트가 가능하지만, 전역변수는 함수 내부에서 수정하지 않는 것이 좋다.

2. 모듈, 라이브러리

미리 선언 하고 다른 파일에서 사용하고 싶을 때 사용 가능

  • python_basic_2.py -> 이게 하나의 모듈
  • import python_basic_2 -> 파일에 있는 함수 다 가져오겠다
  • from python_basic_2 import * -> 이것도 다 가져옴
  • from python_basic_2 import age -> age만 가져옴
  • as 붙이는 것도 가능
  • 같은 성격의 모듈들이 합쳐진 것을 라이브러리라고 함
  • 함수, 클래스, 변수 > 파일 > 모듈 > 라이브러리
  • pip install pandas -> 외부 라이브러리
  • import -> 내장 라이브러리(표준 라이브러리) -> math, random, datetime, collections

0개의 댓글