[Python Basic] 함수
함수
선언
자주 사용하는 기능을 Function으로 정의할 수 있습니다.
#반환값이 있는 경우
def 함수명(인자정의)
함수 내용부
return 반환값
#반환값이 없는 경우
def 함수명(인자정의)
함수 내용부
def 함수명(인자정의)
함수 내용부
return #값이 없는 경우 `None`
def sum(a, b):
s = a + b
return s
total = sum(4, 7)
print(total)
단일 값 또는 다중 값(튜플)을 반환 할수 있습니다.
def sum(v1, v2):
return v1+v2
total = sum(10,20)
print(total)
>>> 30
#다중값 반환 함수
def multi(v1, v2):
s1 = v1 + v2
s2 = v1 - v2
return s1, s2
t1, t2 = multi(20, 10)
print(t1, t2)
>>> 30 10
t = multi(20, 10)
print(t[0], t[1])
파라메터 초기값 설정
#빈값 입력시 기본값으로 설정
def sum(v1, v2 = 10):
return v1+v2
s = sum(5)
>>> 15
파라메터 이름 설정
#이름으로 설정할 수 있습니다.
def info(name, age):
print(name, age)
info(age=30, name='Hong Gil Dong')
>>> Hong Gil Dong 30
가변 길이 파라메터
가변 파라메터의 제약사항
- 가변 매개변수 뒤에는 일반 매개변수 올수 없음.
- 가변 매개변수는 한개만 사용가능함.
- 가변 매개변수 압 일반 매개변수의 기본값은 무시된다.
#가변형 파라메터 입력
def keyList(*keys):
for n in keys:
print(n)
keyList(1,2,3,4,5)
>>> 1
>>> 2
>>> 3
>>> 4
>>> 5
#일반 파라메터 , 가변형 파라메터 입력
def keyList(a, b, *keys):
print(a, b)
for n in keys:
print(n)
keyList('a','b', 1,2,3,4,5)
>>> 'a' 'b'
>>> 1
>>> 2
>>> 3
>>> 4
>>> 5
# 가변형 파라메터 + 키워드 일반 파라메터
def keyList(*keys, end='abc'):
for n in keys:
print(n)
print(end)
keyList(1,2,3,4,5)
>>> 1
>>> 2
>>> 3
>>> 4
>>> 5
>>> abc
함수내 값의 유지(immutable, mutable)
def f(i, list):
i = i + 1
list.append(0)
k = 10 # k는 int (immutable)
l = [1,2,3] # l은 리스트 (mutable)
f(k, l) # 함수 호출
print(k, m) # 호출자 값 체크
# 출력: 10 [1, 2, 3, 0]
python 함수 호출
math
함수를 예로 들어서 설명 합니다.
전체 import
math
전체를 import 후 호출 시 math.xxx()
의 형태로 사용함.
import math
a = math.fabs(-7)
print(a)
일부 함수 import
math
전체가 아닌 일부 함수 import
from math import (acos,fabs)
a = fabs(-7) # math. 을 사용하지 않음
print(a)
일부(한개) 함수 import
math
전체가 아닌 일부 함수 import
from math import fabs
a = fabs(-7) # math. 을 사용하지 않음
print(a)
import alias
math
전체가 아닌 일부 함수 import
from math import fabs as f
a = f(-7) # f로 사용함
print(a)
함수가 가진 목록
dir(math)
python 내장 함수
다음은 별도의 import없이 사용이 가능한 자주 사용하는 내장 함수 입니다.
- len()
- type()
- int()
- str()
- round()
- abs()
- max()
- min()
- sum()
- sorted() , sort() -> list.sort(), sorted(list)
- range()
- chr()
- ord()
- isalpha() -> ‘a’.isalpha() True
- isalnum() -> ‘123’.isalnum() True
- eval() -> eval(‘1+2’) , eval(‘round(1.2)’)