반응형
프로그래밍을 하다 보면 자주 사용하는 코드들이 있습니다. 그런데 이 코드를 매번 넣어주게 되면 전체 스크립트가 매우 복잡해지고 길어지게 됩니다. 이럴 경우 함수를 정의하여 코드를 간소화할 수 있습니다.
- 함수 정의와 활용 방법
def를 통해 함수를 정의할 수 있습니다. 예를 들어 두 변수를 입력받아 합한 값을 출력하는 함수를 정의해봅시다.
#함수 definition
def add(x1,x2) :
result = 0
result = x1 + x2
return result
이렇게 함수를 선언하면 앞으로 작성하는 코드에서 위의 함수를 사용할 수 있습니다.
#함수 definition
def add(x1,x2) :
result = 0
result = x1 + x2
return result
#실제 동작 코드
a = int(input("a의 값을 입력하세요: "))
b = int(input("b의 값을 입력하세요: "))
c = add(a,b)
print(c)
>> a의 값을 입력하세요: 15
>> b의 값을 입력하세요: 21
>> 36
위의 예시를 보면 return이 있습니다. 이는 이 함수가 반환값이 있다는 뜻입니다. 그래서 c변수에 result 반환값을 입력해 주었죠. 그렇다면 함수에는 반드시 return 하는 값이 있어야 할까요?? 그건 아닙니다.
#함수 definition
def veriln_print(a) :
print("입력된 값은",a,"입니다")
#실제 동작 코드
a = input("a의 값을 입력하세요: ")
veriln_print(a)
>> a의 값을 입력하세요: 엄마가 섬그늘에
>> 입력된 값은 엄마가 섬그늘에 입니다
위와 같이 반환값이 없는 경우도 함수를 정의하여 사용할 수 있습니다.
- 함수 활용 예시
그러면 사칙연산 함수를 만들어보겠습니다.
#함수 definition
def cal(x1,x2,option) :
result = 0
if option == '+' :
result = x1 + x2
elif option == '-' :
result = x1 - x2
elif option == '*' :
result = x1 * x2
elif option == '/' :
result = x1 / x2
return result
#실제 동작 코드
a = int(input("a의 값을 입력하세요: "))
b = int(input("b의 값을 입력하세요: "))
print(cal(a,b,'+'))
print(cal(a,b,'-'))
print(cal(a,b,'*'))
print(cal(a,b,'/'))
>> a의 값을 입력하세요: 15
>> b의 값을 입력하세요: 5
>> 20
>> 10
>> 75
>> 3.0
'프로그래밍 > Python' 카테고리의 다른 글
[Python] local 변수와 global 변수 (0) | 2023.12.13 |
---|---|
[Python] 함수 input의 여러 형태 (2) | 2023.12.12 |
[Python] 문자열에 대하여 - 3 (0) | 2023.12.04 |
[Python] 문자열에 대하여 - 2 (2) | 2023.12.01 |
[Python] 문자열에 대하여 - 1 (1) | 2023.11.29 |