일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 혼공머신
- rnn
- 중학수학
- SQL
- 자바
- JSP
- ChatGPT
- 데이터분석
- 연습문제
- 정보처리기사실기
- JDBC
- 컴퓨터구조
- 개발일기
- 타입스크립트심화
- 딥러닝
- 순환신경망
- 중학1-1
- 자바 실습
- 머신러닝
- 정보처리기사필기
- 데이터베이스
- 자바스크립트
- 디버깅
- 쇼핑몰홈페이지제작
- 파이썬
- 컴퓨터비전
- JSP/Servlet
- html/css
- 상속
- 자바스크립트심화
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
함수와 메서드 3 - Method(메서드) 본문
어제 함수와 메서드 단원을 다 마치고 취침하려고 했으나 너무 졸려서 11시 정도에 잠자리에 들었다. 그리고 오늘은 5시간 정도 자고 3시 50분에 일어나 새벽 공부를 시작해 본다.
앞으로는 이 정도쯤은 잠을 청하고 나머지 시간을 알차게 보내기로 했다. 오늘 새벽에 할 게 정말 많다. 4시간 20분쯤 공부할 시간이 있으니 1시간 40분은 함수와 메서드에 나머지 시간은 2주 차 단원 학습에 투자해 보기로 계획을 세워본다.
이렇게 오늘 해야 할 분량을 미리 머릿속으로 그려놔야 최소한의 목표를 이루게 되는 것 같다. 그럼 바로 메서드 학습을 시작해 보자. 이제 잠도 어느 정도 깼으니 공부를 시작해도 될 것 같다.
이론 4 - 메서드
특정 기능이란 함수의 기능이다. 예시를 보면 my_list의 추가하고, 수를 세고 삭제하라는 등 특정 자료에 대해 기능을 하고 있다.
함수는 특정 기능을 하며 괄호를 사용해 my_list를 명시적으로 전달해 준다.
메서드는 점을 사용해 기능을 하는데 괄호 안에는 아무것도 쓰지 않는다. 이 특정 자료가 무엇인지는 객체 단원에서 더 자세하게 다루게 될 것이다.
퀴즈 4 - Method(메서드)
그동안 함수와 메서드가 서로 같은 뜻인 줄 알았는데 분명한 차이가 있다는 걸 알게 되었다. 이 둘을 잘 구별하도록 하자.
실습 5 - 메서드
혼자서 실습 문제를 풀어보았다. 요즘에는 실습 문제에 코드에 어떻게 하라는 예시도 없이 아무것도 주어지지 않을 때가 많다.
혼자 직접 풀어보기
정답을 잘 맞혔지만 영상을 보면서 더 학습할 부분을 배워보기로 했다.
또 다른 답안
강사님은 나와는 좀 다른 방법으로 푸셔서 코드를 한번 적어보기로 했다. 난 Dictionary라는 변수를 하나 만들었고 그것을 다시 my_dict에 넣어주었다. 하지만 바로 my_dict을 사용할 수도 있었다.
그리고 print를 각각 하나씩 쓰면 한 문장씩 끊을 수 있다.
실습 6 - 인자와 매개변수
혼자서 풀어보기
매개변수는 함수를 넘겨받을 때 값을 관리하는 값을 의미한다. 매개변수에 맞춰 값을 전달하는 것을 인자라고 한다. 이 두 개념이 비슷해서 헷갈릴 수도 있다.
3과 4는 함수를 호출할 때 사용하는 자료이다. 이때 사용하는 것이 인자이다. 이렇게 사용된 인자는 매개변수에 담긴다.
영상과 거의 유사하게 문제를 풀어서 이번에는 따로 코드를 작성할 필요가 없었다.
실습 7 - 최대값 직접 구하기
혼자서 풀어보기
인자가 하나만 필요한 것 같다. 다시 한번 풀어보기로 했다.
다시 풀어보기
이상한 문자가 나왔는데 이 문제는 혼자 해결하기 힘든 것 같다.
설명 들어보며 다시 풀기
매개변수에 이름을 하나 만들어서 넣어준다. 최대값을 구하는 것은 여러 가지 방법이 있는데 그중에서 가장 낮은 값 하나를 저장하고, 리스트 안에 저장된 변수보다 크면 비교된 큰 값으로 바꾸어본다.
가장 작은 값을 적어주는데 -1이라고 해도 된다. 그런 다음 리스트에 있는 자료를 하나하나 꺼내서 maxNum과 비교하는 코드를 만든다.
처음 값을 -1이라고 했으니 어떤 값을 비교하든 number가 더 크게 되어 있다. 그 값은 maxNum이 되는데, 또 다른 number와 계속해서 비교하면서 가장 큰 수까지 가는 것이다. 이제 이해가 되었다. 전에 알고리즘에서 비슷한 문제를 풀었는데 도무지 무슨 말인지 이해할 수 없었다.
값을 하나하나 넣어주면서 어떻게 결과가 나오는지 확인해 보니 이제 알 것 같다. 그리고 최대값인 maxNum을 반환하는데 함수 안에 있어야 한다. 함수 밖에 있으면 이렇게 오류가 뜬다.
이제 최댓값이 제대로 나왔다.
학습을 마치고
마지막에 푼 실습 문제는 정말 어려웠지만 이제 드디어 최대값을 어떻게 구하는지 감이 잡혔다. 다음에는 혼자서 생각해서 풀 수 있도록 해볼 것이다. 이번 수업에서 배운 것들이 참 많다. 메서드와 함수의 차이점도 알게 되었고, 인자와 매개변수도 서로 다르다는 것도 배울 수 있었다. 전에는 모두 같은 말인 줄 알았다.
함수도 혼자서 만들어볼 수 있는 실력 정도는 되는 것 같다. 다음 포스트에서는 함수 단원을 정리해 보는 시간을 갖기로 했다. 이제 이 단원의 끝도 얼마 남지 않았다.
어젯밤에는 정말 몽롱한 상태여서 도저히 이해하기 어려웠으나 오늘 새벽에 맑은 정신으로 공부하니 정말 좋다~
'프로그래밍 언어 > 파이썬' 카테고리의 다른 글
모듈과 패키지 1 - 모듈 및 모듈 사용하기 (0) | 2024.08.01 |
---|---|
함수와 메서드 4 - 단원 요약 및 미션 문제 풀기 (0) | 2024.08.01 |
함수와 메서드 2 - 전역변수와 지역변수 (0) | 2024.08.01 |
함수와 메서드 1 - 함수 및 함수의 종류 (0) | 2024.08.01 |
기초 자료형 4 - 단원 정리 및 미션 문제 풀기 (0) | 2024.08.01 |