티스토리 뷰

파이썬(python) 임포트(import) 사용에 대한 생각

다른 이야기 이지만 영문 DJango를 장고라 부를지 쟁고라 부를지 헷갈린다. Anyway~ 어떻든 간에 장고(django) 기본 코드를 보다가 부족한파이썬 구문 이해 부분들에 대해서 나름 정리해 본다.

여기저기 쓰이는점(.) 때문에 헷갈리는 클래스, 모듈의 자격부여(qualification)

임포트한 모듈 내의 이름(변수 또는 함수)를 부를 때 파이썬에서는 'module name. name' 형식을 사용하며 이러한 형식을 자격 부여(qualification)라 칭한다. 즉 A.B는 모듈 A의 B클래스를 칭하거나 클래스 A의 B 메소드를 칭하기도 한다는거지. 객체 A에서 B를 찾는것이라 보면 되겠다.

예) class Reporter(models.Model)
->modules 모듈의 Model 클래스를 상속받아서 Reporter 클래스를 선언한다.

full_name = models.CharField(max_length=70)
-> modules 모듈의 CharField 메소드로 full_name 인스턴스를 생성한다??

def __unicode__(self):
-> 파이썬에서 클래스의 메소드를 정의 하는 법은 def를 맨 앞에 적고 그 뒤에 클래스 함수 이름, 파라미터 그리고 마지막에 콜론(:)을 적어주면 된다. 이것은 def를 제외하고일반 함수를 정의 하는 법과 동일하다. 아참 하나 더첫 인수로 자신의 인스턴스를 가리키는 self를 적는다. 그 외에 표기된__unicode__는 내장함수 로서 문자열을 유니 코드 문자열로 변환한다.

>>> from news.models import Reporter, Article
news 앱에서 생성한 models라는 모듈로 부터 Reporter와 Article 클래스를 임포트 한다. 이처럼 여러개를 임포트(import)하고자 할 경우에는 콤마(,)를 써주면 된다.

정리

파이썬(python)은 점(.)이 여러가지 위치에서 사용되니 잘 구분해서 이해하도록 하자.