PYTHON - if문 안의 def

다음과 같이 조건에 따라 함수를 다르게 정의할 수 있다.
>>> def test(x,y):
    if x == 1:
        def check(y):
            print y
        check(y)
    else :
        def check(y):
            print y+1
        check(y)
       
>>> test(1,1)
1
>>> test(2,1)
2

사실 굳이 이렇게 골치아픈 코드를 안 짜도 된다.

>>> def mod(x,y):
    if x == 1:
        print y
    else :
        print y+1
      
>>> mod(1,1)
1
>>> mod(2,1)
2

맨 위의 코드는 단순히 함수 정의를 조건문 안에서 해도 된다는 것을 보여주기 위해 짠 코드다.