맛동산

파이썬 함수_이론 본문

파이썬/기초

파이썬 함수_이론

오지고지리고알파고포켓몬고 2016. 10. 6. 19:15

파이썬 함수는 def func_name(a, b): 처럼 def로 선언하고 func_name(함수 이름)을 정의해주고 (a, b)처럼 입력값을 정의해주면 된다.

 

입력값은 def func_name():, def func_name(a, b):, def func_name(a, *args):, def func_name(a, b='초기값'): 같은 여러가지 형식으로 정의할 수 있다.

 

*args같은 경우엔 입력값이 1일수도, 1과 2일수도, 1과 2와 3일 수도있는 가변적인 상황에 사용된다. args는 임의로 정의한것이고 * 표시가 그 역할을 한다.

 

만약

def calculator(choice, *args):

result = 0

if choice == '더하기':

for i in args:

result += i

.

.

.

return result

 

라고 정의한다면 calculator('더하기',1,2,3) 또는 calculator('더하기',1,6,10,22,40,50)와 같이 가변적인 상황에서도 수행할 수 있는것이다. 

JAVA에서의 오버라이딩과 비슷하다고 생각할 수 있다.

 

또한

def whoareyou(name, age, sex='남자'):

print(name + age + sex)

 

라고 정의한다면 whoareyou('맥두날', '20')를 호출했을때, sex부분에 초기값으로 설정한 '남자'가 나온다.

 

주의해야할것은 def whoareyou(name, sex='남자', age)처럼 순서가 바뀌면 whoareyou('맥두날', '20')를 호출했을때 오류가 난다는 것이다.

당연하게도 '맥두날'이 name인건 알지만 '20'을 sex에 대입해야할지 age에 대입해야할지 알 수 없기 때문이다.

'파이썬 > 기초' 카테고리의 다른 글

파이썬 파일 입출력_파일생성  (0) 2016.10.07
파이썬 함수_실습  (0) 2016.10.06
파이썬 제어문_for문  (0) 2016.10.06
파이썬 제어문_while문  (0) 2016.10.06
파이썬 제어문_IF문  (0) 2016.10.06
Comments