function 함수란?
함수란 반복되는 부분이 있을 경우, 반복을 한 데 묶어주는 것이다.
프로그램을 함수화하면 프로그램의 흐름을 일목요연하게 파악 가능하고, 오류의 파악도 빠르게 가능하다.
함수를 잘 짜면 입력한 값이 여러 함수를 거치며 원하는 결과값을 도출할 수 있다.
코드의 양을 줄이는 것
- 수정하기 쉬운 코드
- 이해하기 쉬운 코드
- 재활용하기 좋은 코드
함수의 구조
def 함수명(매개변수):
<수행할 문장1>
<수행할 문장2>
### 함수
# function
# 일반 코드
result = len('aaa')
print(result)
# 기본 함수와 return 값
def a3(): # 함수 정의
print('aaa') # 함수 본문
a3() # 함수 호출
매개변수(parameter)와 인수(arguments)
매개변수 parameter
: 함수에 입력으로 전달된 값을 받는 변수
인수 arguments
함수를 호출할 때 전달하는 입력 값
함수의 return
함수의 return : return을 통한 출력값(return 값)우리가 만든 함수를 더 좋은 부품으로 만들 수 있게끔 함
1) 함수의 결과값
2) return을 만나는 즉시 함수를 종료함
# 표현식, Expression
# return : 함수의 결과값, return을 만나는 즉시 함수를 종료함
def a3():
return 'aaa' # return
def a3():
a = 'aaa'
return a # return
위 2개의 a3() 함수의 결과값은 같다.
def a3():
print('before')
return 'aaa' # return :
print('after') # return 다음에 나오는 구문은 실행되지 않음
a3() 함수 내부에서 print('before')을 출력하고 aaa를 return 한다.
return 값 다음에 적힌 print('after')는
return 값이 입력되어 함수를 끝냈기 때문에, 실행되지 않는다.
# a3 : 범용적으로 사용이 가능
def a3():
return 'aaa' # return
# a3 : a()함수를 호출하고 'aaa'print해주는 경우에만 호출 가능
def a3():
print('aaa')
a3()
return만 존재하는 a3는 범용적으로 이용이 가능하다.
반면에 내부에 print('aaa')를 가지고 있는 a3() 는 함수 호출, 'aaa'를 print할 경우에만 사용할 수 있다.
함수의 input(입력값)
## 함수의 입력값 input
# 중복의 문제
# a3, a4 언제나 같은 결과만 출력함
def a3():
print('aaa')
def a4():
print('aaaa')
print(a4())
# 입력값에 따라 결과가 달라짐
def a(num): # num = 변수값으로 설정
return 'a' * num
print(a(10))
def a3():
print('aaa)는
aaa라는 같은 결과만 출력한다.
def a(num):
return 'a' * num
print(a(10)) # num값 자유롭게 부여
함수의 입력값에 따라 다른 결과를 출력한다.
여러개의 입력값을 받는 함수
def make_string(str, num):
return str * num
print(make_string('abc' , 5))
로그인 애플리케이션
input_id = input("아이디를 입력해주세요. \n") # id 값을 입력한다.
def login (_id):
members = ['kim', 'gong', 'lee'] #members 리스트 설정
for member in members:
if member == _id:
return True # member == _id가 일치하면 True를 반환한다.
return False # for 문이 끝났을 때, 일치하지 않는다면 False 값을 반환한다.
if login(input_id):
print('Hello, ' + input_id)
else:
print('Who are you?')
함수 login
members = ['kim', 'gong', 'lee'] 라는 members list를 가지고 있다.
for member in members: # members의 member를 반복한다.
if member == _id # 멤버와 입력 id가 같다면
return True # True 값을 리턴한다.
return False # for ~ in 반복문이 다 돌때까지 True 값이 없다면 False를 반환한다.
함수 login 사용
if login(input_id): # login id를 입력한다.
print('Hello, ' + input_id # input_id가 members 리스트와 일치하면, 'Hello,' id를 내보낸다.
else :
print('Who are you?) # input_id가 members 리스트와 일치하지않으면, 'who are you?'를 내보낸다.
실행결과
'python' 카테고리의 다른 글
python - 객체 지향 프로그래밍(Object Oriented Programming) (0) | 2022.04.27 |
---|---|
python - 모듈(modules)란? (0) | 2022.04.27 |
python - 반복문(loop) 활용& 컨테이너(container) (0) | 2022.04.27 |
python - 반복문(loop) while, for (0) | 2022.04.27 |
python - 공식 문서 보는 법, 리스트 심화과정(생활코딩) (0) | 2022.04.27 |
댓글