Tag :: Python

파이썬 - OOP Part 3. 클래스 변수(Class Variable)

지난 강좌에서는 오브젝트의 개념을 배웠습니다. 그리고 클래스 정의, 인스턴스 생성, self를 이용한 인스턴스 메소드와 인스턴스 변수 사용 등을 해봤습니다. 이번 강좌에서는 인스턴스 변수와는 조금 다른 개념인 클래스 변수에 대해서 알아보겠습니다.

클래스 변수란?

인스턴스 변수가 사람의 이름과 같이 각각의 인스턴스마다 가지고 있는 고유한 데이터라면, 클래스 변수는 한 단체의 단체명과 같이 같은 클래스로 만들어진 모든 인스턴스가 공유하는 데이터입니다.

어떤 회사가 직원들의 연봉을 매년 1회 인상해 주는데...

Read more

파이썬 - OOP Part 2. 클래스와 인스턴스(Class and Instance)

이번 강좌에서는 클래스와 인스턴스에 대해서 배우도록 하겠습니다.

"파이썬은 객체 지향적 프로그래밍 언어입니다. 파이썬의 모든 것은 오브젝트입니다. 문자열, 리스트, 함수, 심지어 모듈 또한 오브젝트입니다..."라고 하는 얘기는 귀가 아프도록 들으셨을 겁니다. 그런데 도데체 오브젝트가 무엇일까요? 오브젝트란 속성과 같은 여러가지의 데이터와 함수(오브젝트 안에서는 메소드라고 부릅니다.)를 포함한 하나의 데이터 구조를 말합니다. 또한 파이썬에서 이 오브젝트들은 변수에 할당될 수도 있고, 함수의 인자로 전달될 ...

Read more

파이썬 - OOP Part 1. 객체 지향 프로그래밍(OOP)은 무엇인가? 왜 사용하는가?

이번 강좌에서는 객체 지향 프로그래밍(Object-Oriented Programming, OOP)에 대해서 알아 보겠습니다.

OOP는 내용이 조금 많기 때문에 다음과 같이 본 강좌를 포함하여 7개의 강좌로 나눠서 진행하도록 하겠습니다.

1. 객체 지향 프로그래밍(OOP)은 무엇인가? 왜 사용하는가?
2. 클래스와 인스턴스(Class and Instance)
3. 클래스 변수(Class Variable)
4. 클래스 메소드와 스태틱 메소드(Class Method and Static Method)
5. 상속과...

Read more

파이썬 - 제너레이터 (Generator)

지난 파이썬 강좌인 파이썬 - 데코레이터 (Decorator)에 이어서 이번 강좌에서는 파이썬의 제너레이터에 대해서 알아보고자 합니다.

프로그램을 조금이라도 접해본 사람이라면 파이썬이 배우기 쉬운 프로그래밍 언어라는 정도는 알고 있을 겁니다. 하지만 쉬운 파이썬에도 대부분의 파이썬 초보자들이 이해하기 어렵다고 공통적으로 말하는 몇가지가 있습니다. 그 중의 하나가  제너레이터와 yield에 대한 개념입니다.

제너레이터의 사전적 의미는 "발전기"...

Read more

나의 첫 Django 앱 만들기 - part 4 - 1

이 강좌는 지난 강좌인 나의 첫 Django 앱 만들기 - part 3 - 2에 이어지는 강좌입니다. 이번 강좌에서는 간단한 유저폼을 만들어 보고, 지금까지 만든 코드를 조금 더 단순화해 보겠습니다.

간단한 유저폼 만들기

지난 강좌에서 만든 디데일(“polls/detail.html”)을 업데이트하여 템플릿에 HTML <form> 태그를 추가하겠습니다.

polls/templates/polls/detail.html
<h...
Read more

파이썬 - 데코레이터 (Decorator)

이번 강좌에서는 전 강좌에서 예고한 대로 데코레이터(Decorator)에 대해서 알아 보겠습니다. 이 강좌를 이해하시기 위해서는 퍼스트 클래스 함수와 클로저를 이해하고 계셔야 합니다. 만약 이해하고 계시지 않으시다면 밑의 강좌를 참고하여 주십시오.

파이썬 - 퍼스트클래스 함수 (First Class Function)
파이썬 - 클로저 (Closure)

데코레이터란 무엇일까요? 사전적 의미로는 "장식가" 또는 "인테리어 디자이너" 등의 의미를 가지고 있습니다. 이름 그대로...

Read more

나의 첫 Django 앱 만들기 - part 3 - 2

404 예외 처리 (Raising a 404 error)

이번 강좌에서는 404 에러 메세지를 출력하는 방법에 대해서 알아보겠습니다. 뷰 파일안의 디테일 뷰(각 투표의 모든 질문을 보여주는 페이지)를 다음과 같이 수정하여 주십시오.

polls/views.py
from django.http import Http404
from django.shortcuts import render

from .models import Question
# ...
def detail(request...
Read more

파이썬 - 클로저 (Closure)

이번 강좌에서는 파이썬의 클로저(closure)에 대해서 알아 보겠습니다. 만약 파이썬 - 퍼스트클래스 함수 (First Class Function) 를 읽지 않으셨다면, 이 강좌를 보다 쉽게 이해하기 위해 먼저 읽으신 후에 이 강좌를 읽어 주시기 바랍니다.

클로저란 무엇일까요? 한글 위키백과에서 관련된 글을 찾을 수 없어서 영어 Wikipedia에서 검색해 봤습니다.

In programming languagesclosures (also lexical clos...

Read more

파이썬 - 퍼스트클래스 함수 (First Class Function)

이번 강좌에서는 파이썬의 퍼스트클래스 함수 (First-class fuction)에 대해서 알아 보도록 하겠습니다.

퍼스트클래스 함수란 프로그래밍 언어가 함수 (function) 를 first-class citizen으로 취급하는 것을 뜻합니다. 쉽게 설명하자면 함수 자체를 인자 (argument) 로써 다른 함수에 전달하거나 다른 함수의 결과값으로 리턴 할수도 있고, 함수를 변수에 할당하거나 데이터 구조안에 저장할 수 있는 함수를 뜻합니다.

조금 어려운가요? 그럼 실습을 하면서 설명을 하도록 하지요.

...
Read more

나의 첫 Django 앱 만들기 - part 3 - 1

이 강좌는 나의 첫 Django 앱 만들기 - part 2 - 2에 이어지는 강좌입니다. 이번 강좌에서도 계속하여 웹 투표 어플리케이션을 만들 것이며, 퍼블릭 인터페이스인 "뷰 (view)"를 만드는 방법에 대해서 집중적으로 알아보겠습니다. 

장고 철학

뷰란 장고 어플리케이션이 사용하는 웹 페이지의 한 타입이며, 일반적으로 특정 함수를 실행하고 특정 템플릿을 가지고 있습니다. 예를 들어, 블로그 어플리케이션이면 다음과 같은 뷰를 가질 수 있습니...

Read more