본문 바로가기
5분 공부

[5분공부] Syntactic Sugar, Optional Parameters

by 멍선생 2022. 6. 20.
728x90

오늘은 Syntactic Sugar, Optional Parameters에 대해서 알아보도록 하자.

 

- Syntactic Sugar : 자주 쓰이는 표현을 더 간략하게 쓸 수 있게 해주는 문법 이다.

 

 

코드로 알아보자면.. 아래 코드들 중 두줄 씩 서로 같은 결과를 나타내게 된다.

# x 에 기존 x 값에 1을 더한 값을 넣는다
x = x + 1 
x += 1

# x 에 기존 x 값에 3을 더한 값을 넣는다
x = x + 3 
x += 3

# x 에 기존 x 값에 3을 곱한 값을 넣는다
x = x * 3 
x *= 3

# x 에 기존 x 값에 3을 뺀 값을 넣는다
x = x - 3 
x -= 3

# x 에 기존 x 값에 3을 나눈 몫을 넣는다
x = x / 3 
x /= 3

# x 에 기존 x 값에 3을 나눈 나머지 값을 넣는다
x = x % 3 
x %= 3

 

- Optional Parameters : 파라미터의 기본값을 설정해두면 함수 호출을 할 때 파라미터에 해당되는 값을 넘겨주지 않았을 경우, 그 파라미터는 기본값을 갖게 되는 파라미터를 의미한다.

 

코드로 알아보자면..

함수 선언 시 입력받는 값에 기본값을 지정해 주면 해당 파라미터는 함수 호출 시 써주지 않아도 기본값으로 자동 입력되는 것이다.

주의할 점은 맨 뒤의 파라미터 부터 기본값을 설정해주어야 한다는 점이다.

def introduce(name, age, nationality = "한국"):
    print("이름 : %s" % name)
    print("나이 : %d살" % age)
    print("국적 : %s" % nationality)
    

introduce("멍선생", 34)
introduce("멍선생", 34, "대한민국")

 

첫 번째 함수 호출에서 마지막 파라미터를 입력 안했음에도 "한국"이라는 단어가 나온다.

 

만약 마지막 파라미터가 아닌 첫번째나 두번째 파라미터에 기본값을 설정한다면, 아래와 같은 에러를 보게 될 것이다.

다행이도 컴파일러가 선언할 때 부터 오류라고 알려준다..

(왜 맨 끝에 해야하는지 뭐라고 말로 쉽게 풀어서 설명이 안된다 ㅜ)

def introduce(name, age=34, nationality):
    print("이름 : %s" % name)
    print("나이 : %d살" % age)
    print("국적 : %s" % nationality)
    

introduce("멍선생", 34)
introduce("멍선생", "대한민국")

 

 

주로 숫자 계산할 때 빠르게 할 수 있는 Syntactic Sugar 

함수 선언 시 파라미터의 기본값을 설정하는 Optional Parameters 를 알아보았다.

오늘의 공부는 여기서 끝.

 

728x90
반응형

댓글