Emotion/파이썬

파이썬 함수_1

ursobad 2020. 7. 8. 16:08

함수 만들기

구조

def 함수 이름(): 원하는 코드


ex)

def hello(): print("hello, world!") hello()

hello, world!가 출력된다.
#함수를 만들기전에 함수를 호출하면 안된다.

덧셈 함수

함수에서 값을 받으려면 괄호 안에 매계변수 이름을 지정해주면 된다.

def add(a,b): print(a+b) add(10,20)

10과 20이란 값을 호출해서 10+20인 30이 출력된다.

return

함수에서 값을 꺼내올때 return을 사용한다.

def add(a,b): return a+b x=add(10,20) print(x)

a+b의 값을 x라는 변수에 넣은 뒤에 x를 출력할 수 있다.

def o(): return 1 x=o() print(x)

함수에 매계변수가 없어도 return안에 값이 있으면 함수를 호출했을때 그 값이 반환된다. 그러므로 이 코드는 1이 출력된다.

>>> def no_t(a): if a==10: return print(a,"입니다.", sep='') >>> no_t(5) 5입니다. >>> no_t(10)

a값이 10이면 아무것도 리턴하지 않기 때문에 no_t(10)일때 출력이 없고 no_t(5)일때는 "5입니다." 를 출력시킨다. 이처럼 함수를 빠져나오는데도 사용할 수 있다.

def ad_sb(a,b): return a+b,a-b x,y=ad_sb(10,20) print(x,y) 

이처럼 값을 여러개 반환해서 여러개의 변수에 넣어 줄 수 있다. 이 코드는 a+b값을 x에 넣고, a-b값을 y에 넣고 출력한다.

>>> def ad_sb(a,b): return a+b,a-b >>> x=ad_sb(10,20) >>> x (30, -10)

여러개의 값을 반환해서 하나의 변수에 넣으면 튜플형태로 출력된다.

퀴즈

x를 y로 나누었을때 몫과 나머지를 출력시켜 보자

x=10 y=3 def a(a,b): return a//b, a%b q,r=a(x,y) print(q,r)

이렇게 만들 수 있다.

입력값 x와 입력값 y를 나누었을때 몫을 출력시키는 코드는 위 코드를 살짝 바꾸면 된다.

def a(a,b): return a//b, a%b x,y=map(int,input().split()) r,q=a(x,y) print(r,q) 

이런식으로 만들 수 있을것 같다.