*이 글을 읽기전에 작성자 개인의견이 있으니, 다른 블로그와 교차로 읽는것을 권장합니다.*
1.사용자 정의함수
사용자 정의 함수는 사용자(개발자)가 특정 작업을 수행하기 위해 직접 작성한 함수를 의미합니다. 파이썬에는 많은 내장 함수들이 있지만, 때로는 우리의 요구사항에 맞게 동작하는 함수를 직접 만들어야 할 때가 있습니다. 이때 사용자 정의 함수를 작성하게 됩니다. def문을 이용하여 함수를 만듭니다. 기본구조는 아래와 같습니다.
def 함수명(매개변수1, 매개변수2, ...):
함수가 실행될 때 실행할 코드
return 결과값
1-1. 매개변수와 반환값이 없는 함수
매개변수가 없고, 리턴값을 지정하지 않았기 때문에 print() 함수로 출력할 경우 리턴값이 None상태로 출력됩니다.
#매개변수,반환값이 없는 함수
def a():
print('매개변수,반환값이 없는 함수')
print(a()) #반환값이 없으므로 문자열과 None 출력
1-2. 매개변수가 있고 반환 값이 없는 함수
def문의 함수에 매개변수를 설정하고, 리턴값은 설정하지 않습니다. 마찬가지로 리턴값은 None상태입니다. 매개변수를 설정했기 때문에 매개변수만 입력가능합니다. 매개변수는 항상 함수 ()소괄호 안에 들어있다는 것을 인지해야합니다.
#매개변수만 설정, 반환값X
def a(b):
print(f'출력된 값:{b}')
a(5)
a(3251)
print(a(3))
def문+for문 활용
#매개변수 + for문 활용
def a1(b,c):
asterisk=1
for i in range(b,c): # in범위 b~c까지
asterisk*=i #asterisk=asterisk*i
print(f'{b}부터 {c}까지의 곱셈: {asterisk}')
a1(1,5)
a1(3,7)
1-3. 반환값이 있는 함수
Return문은 반환값을 설정합니다. 반환값을 설정하여 None이 아닌 값을 출력합니다.
#반환값 있는 함수
def a2():
return '32' # 반환값 32설정
#a2함수 변수 설정
a21=a2()
print(f'a21에 저장된 값:{a21}')
실제로 사용자 정의함수에서 반환값이 있는 함수가 없는 함수보다 활용도가 더 높기에, 반환값을 설정한 함수를 많이 사용합니다.
#반환값이 있는 함수와 없는 함수의 차이
def a3():
return '반환값이 존재' #함수(x)=y에서 y가 있음
def a4():
print('반환값이 존재하지 않는 None') #함수(x)=y에서 y가 없음
print(a3())
print(a4())
1-4. 기본값이 설정된 매개변수
매개변수의 기본값을 지정함으로써, 함수의 매개변수를 입력할 때, 입력하지 않아도 지정한 기본값을 출력하게끔 만듭니다.
#매개변수의 기본값 지정
def a5(b=1,c=1,d=1):
asterisk=b*c*d #실행코드와 변수 설정
return asterisk
print(a5(3,5,3))
print(a5())
1-5. 가변 매개변수
함수를 호출할 때 *(Asterisk)를 사용하면 시퀀스(리스트, 튜플 등)의 요소를 개별적인 위치 인자로 풀어서 전달할 수 있습니다. 매개변수의 요소 형식이 고정되지 않고, 가변적(variable)이기 때문에, 자료의 출력값이 다양합니다.
#가변 매개변수
def a6(*ass): #def문, 매개변수에 *
print(ass)
sir=0 #기본값 0으로 설정
return sir #리턴값 설정
print(a6(10,30,20,50,70,90,110)) # 튜플형 출력
print(a6([30,20,10])) #리스트형 출력
1-6. 키워드 매개변수
f-string을 이용해, 키와 value값이 1:1 대응되게 출력합니다. 매개변수의 순서를 바꾸어도 파라미터 지정을 했기 때문에 매개변수 입력순서는 상관없습니다. 또한, *(asterisk)를 통해 전달가능합니다.
#키워드 매개변수
def a7(a,b,c):
print(f'년도: {a}')
print(f'월: {b}')
print(f'날짜: {c}')
print(a7(2024,3,15))
#매개변수 입력순서 바뀌어도 출력가능
a7(c=17,a=1993,b=8)
*(asterisk)활용
#*활용
dic={'c':25,'a':1345,'b':6}
print(a7(**dic))
1-7. 여러개의 반환값
함수 1개의 1번 실행에 여러 개의 결과값을 출력할 수 있습니다. 1개의 함수에 여러 변수를 연결하여 사용했을 시, 변수에 _(언더바)를 사용하여 변수를 누락하여 사용할 수 있습니다.
#1개 함수에 여러 변수 선언
def a8(no1,no2):
return no1+no2, no1-no2, no1*no2, no1/no2 # 리턴값 4개 지정
# 리턴값 4개->변수4개 지정
a,b,c,d=a8(12,4)
print(f'더하기:{a}, 빼기:{b}, 곱하기:{c}, 나누기:{d}')
_처리 예시
#_사용
_,b,_,d=a8(4,16)
print(f'빼기:{b},나누기:{d}')
'Python 기초' 카테고리의 다른 글
파이썬 예제-3. 반복문 (0) | 2024.03.17 |
---|---|
파이썬 기초(10)- 컬렉션과 반복문 (0) | 2024.03.15 |
파이썬 예제-2. 조건문 문제 (1) | 2024.03.15 |
파이썬 기초(9) - 반복문 (0) | 2024.03.14 |
파이썬 기초(8)-조건문 (0) | 2024.03.14 |