-
파이썬 기초 정리 1일차 (함수 만들기)파이썬 기초 정리 2021. 8. 9. 22:11반응형
이 정리 글에는 변수나 자료형 같은 그런 것들은 생략하고 정리할 것이다. 기본적이지만 나중에 기억이 안나는 것들이 있을 수 있기에 간단간단한 것들부터 정리해보도록 하겠다.
사실 내가 전문적으로 배운 것도 아니고, 코드잇을 하면서 공부했던 것들 복습 차원에서 정리하는 것이라 설명하는 것에 오류나 잘못된 것들이 있을 수 있음을 인지해주길 바란다.
함수 만드는 법
함수를 만든다는 것은 어떤 기능을 여러군데에서 작동시키기 위해 도구를 만드는 것과 같다.
만약 함수를 만들지 않고 계속해서 필요에 의해 자주 쓰다 보면 코드 길이도 길어지고
무엇보다 귀찮다.
한 번 코드를 바꾸거나 더 좋은 코드가 생각나서 바꿀 때에
시간이 많이 걸리는데
함수로 만들면 한 번만 바꾸면 된다.
그럼 어떻게 만드는 것인지 볼까?
함수의 모양을 보기 위해 예시를 만들어 보았다.
user_name = input("이름을 입력하세요") def hello(name): print(f"Hello {name}!") hello(user_name)
user_name = input("이름을 입력하세요")
이 코드에서 input()은 사용자에게 무언가를 입력하라고 하는 것이고
"이름을 입력하세요"는 사용자에게 안내하는 것이다
그리고 user_name은 사용자의 이름을 저장하는 변수인 것이다
이제 함수 부분
def hello(name):
print(f"Hello {name}!")def 함수이름(파라미터):
구조이다
파라미터라는 것은
함수를 작동시킬 때
어떤 수치를 입력받는 자리의 이름이다
즉, 파라미터의 이름은 함수 안에서만 사용되는 이름이기에
자유롭게 설정해서 쓰면 된다
파라미터를 몇 개를 쓸 수 있을까?
그건 아직 잘 모른다
1개, 2개, 3개 등등
아래 코드와 같이 사용할 수 있기 때문이다
def two_sum(num1, num2): return(num1 + num2) def three_sum(num1, num2, num3): return(num1 + num2 + num3) print(two_sum(1, 2)) print(three_sum(3, 4, 5))
위의 코드에서는 print()를 썼는데
두 번째 코드에서는 return을 사용했다
이것은 차이가 있다.
print()는 그냥 출력만 하는 것이기에
어떤 변수나 어떤 것들에
저장을 할 수 있는 것이 아니다.
즉, 계산한 값을 재사용을 할 수 없다
하지만 return는
이 함수를 사용하는 부분이
return 값이 되는 것이다
위의 함수를 이용해서 보여준다면
kor = 100 eng = 80 math = 90 total = three_sum(kor, eng, math)
과목으로 한다면
국어 영어 수학 점수의 합
이나
이렇게 사용할 수 있다.
아니면 여러 과목 수가 정해져 있지 않다면
밑에와 같이 할 수 있다
for 문을 이용한다면
def average(list): total = 0 subject = 0 for i in list: total += i subject += 1 return total / subject hong = [100, 90, 80, 100] print(average(hong))
이렇게 list를 넣어서 반복문을 돌려도 되는 것이다
(이건 내가 실험해본 것이다. 근데 되네 ㅎㅎ)
이제 파라미터에 대해 설명은 끝났다
하지만 거의 다 설명했다
함수라는 것은 명령을 저장하는 역할을 한다
그러니 안에 어떻게 쓰든 상관은 없지만
그렇다면
코드를 봤을 때
비슷한 모양의 코드가 많다면
그것을 함수 안에 넣고
간단하게 입력해서 작동시켜도 될 것 같다
오늘 사실 많이 정리를 못한 것 같지만
그래도 다행이다
함수를 만드는 것은
내가 생각할 때
어떤 프로그램의 부품을 만드는 거라는
생각이 드는데
어떻게 만드는지 까먹었을 때
이거 다시 봐야겠다
for문이나 input()이나
사전이나 이것저것 정리할 것이 많다
하지만 오늘은 여기까지
오늘은 여기서 끝내야 할 것 같다
내일은 숫자형 계산하는 것에 대해서
정리할 생각이다
반응형'파이썬 기초 정리' 카테고리의 다른 글
파이썬 기초 정리 2 자료형(숫자형 연산기호, round(), 포맷팅) (0) 2021.08.10