[Python 스터디] 3주차 | Class 만들기

Ji Eun Yoo
Django Girls Seoul | 장고걸스서울
5 min readMay 16, 2017

장고걸스 서울, 비기너를 위한 파이썬 스터디가 어느덧 3주차에 접어 들었습니다. 이번주에는 하이브 아레나에서 장소를 제공해 주셔서 벌써 디지털 노마드가 된 것만 같은 마음으로 스터디를 참여할 수 있었습니다. 넓고 쾌적한 공간을 대여해주신 하이브 아레나 감사드립니다:)

이번주에는 먼저 지난주에 발표자였으나 감기몸살로 스터디에 불참한(접니다ㅠㅠ) 지은님이 복습 차 지난주 내용을 발표하였어요. 지은님이 담당하신 부분은 IF문인데요, IF 와 Else 그리고 ELIF 까지 빠르게 복습하는 시간이었습니다.

<- 참 쉽죠~?

<- if 문을 만들 때 자주 쓰이는 비교연산자. 같다와 같지 않다가 기존에 알고 있던 기호와 다르기 때문에 주의해야 합니다.

<- 대망의 Elif 구절. else와 if로 지저분해질 수 있는 코드를 Elif 로 깔끔하게 정리가 가능합니다.

간단한 복습 후 Marta의 Class 발표가 있었습니다. 사실 후기를 쓰는 지금도 Class의 정의를 잘 모르겠지만.. 그래도 노력해서.. 적어보도록 하겠습니다!

  1. Class란 무엇인가?

클래스란 간단히 말해서 계산기와 같은 것입니다. 예제를 통해 이야기 해보자면, 계산기에 숫자 3을 입력하고 더하기(+) 후 숫자 4를 입력하면 결과값으로 7이 나옵니다. 다시 한 번 더하기(+) 기호를 입력한 후 숫자 3을 입력하면 기존 결과값 7에 3을 더해 10을 보여줍니다. 즉, 계산기는 이전에 계산된 결과값(7)을 항상 가지고 있어야 다음 계산에 적용이 가능합니다. 위의 이미지는 3+4=7 의 계산을 파이썬 코드로 구현한 것입니다.

그런데 만약 한 프로그램에서 2개의 계산기가 필요한 상황이 발생하면 어떻게 해야 할까요? 사실 저는 초보자라 왜 계산기가 2개 이상 필요하게 되는 상황이 생기는 지 전혀 짐작조차 할 수 없지만! 파이썬에게는 종종 필요한 일인가 봅니다.. 아무튼 각각의 계산기는 각각의 결과값(답)을 유지해야 하기 때문에 위와 같이 adder 함수 하나만으로는결과값(답)을 따로 유지할 수 없습니다.

<- 위 이미지처럼 클래스를 쓰면 복잡한 함수를 여러번 늘어뜨리지 않고 Calculator 클래스로 만들어진 cal1, cal2라는 별개의 계산기(파이썬에서는 이것을 객체라고 한다)가 각각의 역할을 수행합니다. 그리고 계산기(cal1, cal2)는 서로의 결과값(답)에 영향을 미치지 않아요. 클래스를 이용하면 계산기의 개수가 늘어나더라도 객체를 생성하기만 하면 되기 때문에 함수를 사용하는 경우와 달리 매우 간단해집니다.(점프 투 파이썬 발췌문)

이론을 공부한 뒤 각자 클래스를 활용한 예제문을 만들어 봤는데요, 먼저 Marta의 My Seoul love story 입니다.

-> Seoul Love Story

위 코드를 입력하시면 재미있는 서울 러브스토리를 읽으실 수 있어요. 아침 드라마 뺨치는 스토리가 나와서 깜짝 놀랐습니다(..)ㅋㅋ파이썬이 이렇게 재밌습니다 여러분. 파이썬을 공부하면서 아침드라마를 쓸 수 있어요(?) 다음은 지영님이 만드신 생년월일을 입력하면 나이와 띠, 별자리를 알려주는 클래스!

https://gist.github.com/jyhwng/1e38666368e602faf5fa98d9395c1207

생년월일을 입력하니 친절히 제 나이를 알려줍니다. 별로 신나진 않네요….. 흑흑.. 늦은만큼 더 열심히 공부해야죠! 괜시리 자아성찰을 하게되는 시간이었어요. 아무튼 저는 아직 클래스가 잘 이해가지 않지만 계속 공부하다 보면 이해하는 날들이 있을거라고 믿습니다!

열공하는 스터디원분들의 모습. 너무 열심히 집중할 때 쯤이면 당이 떨어진 누군가가 달다구리를 사오셔서 다같이 포도당을 충족하며 열심히 파이썬을 공부합니다. 다들 굉장히 열정적이시고 습득이 빨라서 함께 공부하면 배움도 빠르고 자극도 되는 것 같아서 좋아요.

다음 스터디는 모든 스터디원들이 기다리던 크롤링 시간인데요 다음 시간까지 열심히 또 공부해서 돌아오겠습니다. 안녕~~

--

--