[Python] 함수 기본값, 키워드값, 가변인자, 지역변수와 전역변수

개발log·2024년 2월 22일
0

Python

목록 보기
4/17
post-thumbnail

일반

def study(subject, tot):
    print(f"과목: {subject}, 총점: {tot}")

subject = "파이썬"
tot = 90

# 함수 호출
study(subject, tot)

# 결과
# 과목: 파이썬, 총점: 90

🏷️ 기본값

def study(subject="파이썬", tot=80):
    print(f"과목: {subject}, 총점: {tot}")

# 함수 호출
study()

# 결과
# 과목: 파이썬, 총점: 80

🏷️ 키워드값

  • 호출 시 매개변수 위치가 달라져도 가능하다.
  • study(tot=70, subject="파이썬")
def study(subject, tot):
    print(subject, tot)

# 키워드값 지정
# 호출 내 매개변수 위치가 달라도 가능
study(tot=70, subject="파이썬")

# 결과
# 과목: 파이썬 70

🏷️ 가변인자

  • 매개변수의 해당 값의 갯수가 일정하지 않을 때 *매개변수를 작성하면 갯수에 따라 출력이 가능하다.
def study(*subject, tot):
    print("점수: {0}".format(tot), end="")
    for sub in subject:
        print(sub, end="")
    print()
study("파이썬", "자바", "C++", "JSP", tot=70)
study("파이썬3", "자바", "파이썬2", tot=70)

🏷️ 지역변수와 전역변수

  • 지역변수: 메소드 안에서 선언된 변수
  • 전역변수: 전역에서 사용할 수 있는 변수(메소드 내 외부 통합)

에러구문 - 외부 변수를 내부에서 사용

money = 1000
def getMoney(getMother):
    money = money + getMother
    print("[함수 내] 총 용돈: {0}".format(money))

print("총 용돈: {0}".format(money))
getMoney(500)
print("잔여 용돈: {0}".format(money))

## 결과
#### 해당 구문 에러
#### 이유: money는 외부에서 선언하였으므로 내부 메소드에서 사용 불가

지역 변수

  • 내부에서 사용한 지역변수는 외부변수와 연동되지 않음.
money = 1000
def getMoney(getMother):
    money = 2000
    money = money + getMother
    print("[함수 내] 총 용돈: {0}".format(money))

print("총 용돈: {0}".format(money))
getMoney(500)
print("잔여 용돈: {0}".format(money))

## 결과 ----> 내부 변수의 money를 사용하고 있음.
총 용돈: 1000
[함수 내] 총 용돈: 2500
잔여 용돈: 1000

전역변수

  • 함수 전역 내 변수 사용
  • 잘 사용 안함
money = 1000
def getMoney(getMother):
    global money # 전역 공간에 있는 money 사용
    money = money + getMother
    print("[함수 내] 총 용돈: {0}".format(money))

print("총 용돈: {0}".format(money))
getMoney(500)
print("잔여 용돈: {0}".format(money))

## 결과
#총 용돈: 1000
#[함수 내] 총 용돈: 1500
#잔여 용돈: 1500
profile
나의 개발 저장소

0개의 댓글