반응형
본 포스팅은 패스트 캠퍼스의 [온라인] 데이터 사이언스 스쿨을 수강하며 학습한 내용을 정리한 것입니다.
데이터 사이언스 스쿨 온라인
대학교재보다 상세한 강의자료, 현직 실무자의 노하우까지 모두 얻어가세요 ! 이미 수많은 비전공자들이 데이터 사이언티스트로 커리어 전환에 성공한 바로 그 강의. 데이터 사이언스 스쿨 오프라인 정규 과정을 이제는 온라인에서 만나보세요!
www.fastcampus.co.kr
1. 기본함수
- 함수는 반복되는 작업을 편리하게 사용하기 위해 씀
- 함수를 선언하고 호출하는 방식
- def 함수명(parameter) 형태
- 사용예제
def grade(point):
if point >= 90:
print("A")
elif point >=80:
print("B")
elif point >=70:
print("C")
else:
print("너는 낙제")
2. Parameter(파라미터)와 argument(아규먼트)
- 파라미터 : 함수를 선언할 때 호출하는 부분에서 보내주는 데이터를 받는 함수
- 아규먼트 : 함수를 호출할 때 함수에 보내주는 데이터
- 일반적으로 파라미터와 아규먼트의 갯수를 맞춰야 하지만 갯수를 맞추지 않고도 키워트 아규먼트를 사용할 수 있음
- 사용예제
def plus(num1, num2): # 파라미터
print(num1+num2)
# 파라미터와 아규먼트의 갯수를 맞추지 않는 경우
def plus(num1, num2=10, num3=20) : # default parameter
print(num1+num2-num3)
plus(1) # 1+10-20이 실행됨
# 키워드 아규먼트 : 특정 파라미터만 값을 지정하고 싶음
plus(2, num3=1000) # 2 + 10 - 1000이 실행됨
3. return(리턴)
- 함수를 실행한 결과값을 저장하고 싶을 때 사용함
- 함수에서 return코드가 실행되면 무조건 함수의 실행이 종료됨
- 사용예제
def plus(num1, num2):
print(num1+num2)
return num1+num2
result = plus(1,2)
def echo(msg):
if msg == "quit":
return
print(msg)
echo("quit") # return으로 아래 코드인 print(msg)를 실행하지 않음
4. *args, **kwargs
- 함수를 호출할 때 아규먼트와 키워드 아규먼트의 갯수를 특정지을 수 없을 때 사용
- 사용예제
def plus(*args, **kwargs): # args와 kwargs는 그냥 변수명이라 다른걸로 써도됨
print(type(args), args)
print(type(kwargs), kwargs)
return sum(args) + sum(list(kwargs.values()))
plus(1, 2, 19, 3123, num1=6, num2=1)
# 결과
# <class 'tuple'> (1, 2, 19, 3123)
# <class 'dict'> {'num1': 6, 'num2': 1}
# 3152
def func(num1, num2, num3):
return num1 + num2 + num3
data = [1,2,3]
func(*data) # = func(1,2,3)
# 결과 : 6
data = {
"num2" : 100,
"num3" : 200,
}
func(1, **data)
# 결과 : 301
반응형
'Python > Tutorial' 카테고리의 다른 글
[Python] 함수(3) - map, filter, reduce (0) | 2020.04.03 |
---|---|
[Python] 함수(2) - docstring, scope, inner function, lambda function (0) | 2020.04.03 |
[Python] 반복문 - while, for, break, continue, list comprehention (0) | 2020.04.01 |
[Python] 조건문 - if, else, elif(else if) (0) | 2020.04.01 |
[20200325] 파이썬 기본 문법(Python basic syntax) (0) | 2020.03.25 |