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)
이런식으로 만들 수 있을것 같다.