◾함수
함수(function)
: 수학의 함수와 동일, 입력을 통해 특정 연산을 진행하여 결과를 출력하는 기능을 가진 것
- 함수 사용 이유 : 특정 기능을 재사용하기 위해서 사용
def 함수명(매개변수): 연산
- 함수 내에서 또 다른 함수 호출
pass
: 실행문 생략 가능
def addFunc(x, y):
return x + y
print(addFunc(3, 4))
- 함수의 종류 :
내장 함수
, 사용자 함수
- 내장 함수 : 파이썬에서 기본으로 제공하는 함수
- print(), input(), sort(), reverse(), clear() 등
- 사용자 함수 : 사용자가
def 키워드
를 이용해 직접 선언하는 함수
print('Hello')
def printUserName(name):
print(f'{name} 고객님, 안녕하세요.~~')
printUserName('honggildong')
- 함수 선언 :
def 키워드
, 함수명(매개변수)
, :, 들여쓰기(코드블럭)
- 함수 호출 :
함수명(매개변수)
def addCal():
n1 = int(input('n1 입력 : '))
n2 = int(input('n2 입력 : '))
print('n1 + n2 = {}'.format(n1 + n2))
addCal()
- 인수와 매개변수 : 함수 호출 시 함수에 데이터 전달가능
- 매개변수 : 함수 호출시 전달받을 데이터를 담을 변수
- 인수 : 함수 호출시 전달할 데이터
- 매개변수와 인수의 개수는 일치해야한다.
def printName(name):
print('Hello {}'.format(name))
printName('Python')
def calculator(n1, n2):
print('{} + {} = {}'.format(n1, n2, n1+n2))
print('{} - {} = {}'.format(n1, n2, n1-n2))
print('{} * {} = {}'.format(n1, n2, n1*n2))
print('{} / {} = {}'.format(n1, n2, n1/n2))
calculator(10, 20)
*매개변수명
: 매개변수가 정해지지 않은 경우, 튜플 형태로 인수를 변수에 저장
def printNumber(*numbers):
for number in numbers:
print(number, end = ' ')
print()
print(type(numbers))
printNumber()
print('-'*20)
printNumber(1)
print('-'*20)
printNumber(1,2)
print('-'*20)
printNumber(1,2,3)
print('-'*20)
printNumber(1,2,3,4)
**매개변수명
- **키워드로 값을 전달받는다.
- 인수의 숫자에 관계없이 사용할 수 있다.
- 일반적으로
kwargs
로 지정
def printValues(**kwargs):
print(kwargs.get('num1', 1)
print(kwargs.get('num2', 2)
print(kwargs.get('num3', 3)
printValues(num1=100)
print('-'*20)
printValues(num1=100, num2=200)
print('-'*20)
printValues(num1=100, num2 = 200, num3 = 300)
return 키워드
: 함수 실행 결과 호출부로 반환
def divideNumber(n):
if n % 2 == 0:
return "짝수"
else :
return '홀수'
print('hello')
returnValue = divideNumber()
print(f'returnValue : {returnValue}')
◾지역변수와 전역 변수
전역 변수
: 함수 밖에서 선언된 변수로 어디에서나 사용은 가능하지만 함수 안에서 수정할 수 없다.
global 키워드
: 함수 안에서도 전역 변수의 값을 수정할 수 있다.
num_out = 10
def printNumber():
num_out = 222222222
print(f'num_oud : {num_out}')
printNumber()
print(f'num_out : {num_out}')
지역 변수
: 함수 내에서 선언된 변수로 함수 안에서만 사용 가능
def printNumber():
num_in = 20
print(f'num_in : {num_in}')
printNumber()
◾중첩 함수
중첩 함수
: 함수 안에 또 다른 함수를 선언한 형태
def out_function():
print('out_function called!!')
def in_function():
print('in_function called!!')
in_function()
out_function()
◾lambda 함수
lambda 키워드
: 함수 선언을 간단하게 할 수 있다.
def calculator(n1, n2):
return n1 + n2
returnValue = calculator(10, 20)
print(f'returnValue : {returnValue}')
calculator2 = lambda n1, n2 : n1 + n2
returnValue = calculator2(10, 20)
print(f'returnValue : {returnValue}')