Untitled_Blue

[Python] 프로그래밍의 입출력, 함수 본문

Programming Language/Python

[Python] 프로그래밍의 입출력, 함수

Untitled_Blue 2023. 12. 25. 20:53
반응형

안녕하세요. 이번 글은 입출력과 함수에 대한 설명입니다.

 

- 파이썬에서의 입출력 구현

a = input('값 입력 >> ')

print(type(a))

다음과 같이 input() 함수를 사용해서 사용자로부터 입력값을 받아올 수 있으며 이를 토대로 출력을 시작으로 기본 제공 함수와 제어문 내지 반복문을 통해서 로직을 구현할 수 있음을 확인할 수 있다.

- 함수란?

  • 데이터와 API 등을 활용해서 기능을 구현하기 위한 공간
def function001():
    print('function001 함수 실행')

    for i in range(1, 10, 1):
        if i % 2 == 0:
            continue

        print(i, '는 홀수입니다.')

function001()

파이썬 내에서 함수를 구현하는 방법인 먼저 def [함수명]()  : 를 입력한 다음 개행 후 라인에서 tab 후 수행할 로직을 구성하면 된다. 이후 함수명()을 입력 후 실행하면 함수 내부의 로직이 정상적으로 구현되고 있음을 확인할 수 있다.

def function001(a, b):
    print('function001 함수 실행')

    for i in range(1, a, 1):
        if b == '홀' :
            if i % 2 == 0:
                continue

            print(i, '는 홀수입니다.')

        elif b == '짝' :
            if i % 2 != 0:
                continue

            print(i, '는 짝수입니다.')

        else :
            print('다시 입력해주세요.')

function001(15, '짝')

다음과 같이 괄호 () 안에 매개변수를 추가해서 함수를 호출할 때 매개변수를 다르게 하는 방식을 통해 어떤 값을 설정하느냐에 따라 다른 결과가 구현되도록 할 수 있다. 또한 함수를 사용함으로써 같은 로직을 중복 구현하지 않아도 함수명만을 사용해서 중복성없이 간단하게 로직을 구현할 수 있다. 추가로 매개변수를 원하는 만큼 지정할 수 있다.

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

print(function001(15, 30))

또한 다음과 같이 return 키워드를 사용해서 함수를 실행할 때의 반환값을 지정할 수도 있다.

def function001(*args):
    return args

print(function001(15, 30)) # (15, 30)
print(function001(1, 2, 3, 4, 5)[2]) # 3

*args 매개변수를 활용해서 매개변수의 제한 갯수를 지정하지 않아도 원하는 만큼 매개변수를 호출할 수도 있다. 이때 함수에서는 args를 배열로 받아들여지며 [위치값]을 활용해서 원하는 값만 반환받을 수도 있다는 점을 확인할 수 있다.

def function001(*args):
    result = 0;
    for i in args :
        result = result + i

    print(result)

function001(1, 2, 3, 4, 5) # 15

이와 같이 배열 형식의 매개변수를 활용해서 모든 매개변수에 대한 합과 같이 응용하는 방식의 로직을 구현할 수 있다.

print((lambda x, y, z: x + y + z)(10, 20, 30)) # 60

기본적으로 함수를 조금 더 간결하게 표현하는 방법이 있는 식이 존재하는데 이를 람다식이라고 한다. 람다식이란 함수를 하나의 식으로 표현하는 방식을 의미한다. 이를 통해 기존에 def 키워드를 사용해서 줄 간격을 지켜가면서 구현했던 함수를 람다식을 통해 조금 더 상대적으로 간결하게 표현할 수 있다.

반응형