Python에서 dot/점/. 의 의미를 알아보자.
0. 객체의 메서드, 속성에 접근
Python과 같은 프로그램을 객체 지향형 프로그래밍이라고 합니다. 데이터 분석을 위해 가장 자주 사용하는 패키지인 Pandas를 예시로 들어보겠습니다.
import pandas as pd
test_data = pd.DataFrame([[1, 2, 3], [3, 4, 5]], columns=['A', 'B', 'C'])
test_data.info()
test_data는 판다스라는 클래스의 데이터프레임 객체입니다. 이를, object instance라고 합니다.
이 객체에는 여러가지 속성과 메서드들이 있습니다. 메서드는 일종의 함수 기능이라고 생각하면 됩니다. 예를 들어, info()는 데이터프레임 객체에 있는 컬럼들의 데이터 타입과, 널 관련된 정보를 알려주는 메서드입니다.
이렇게 클래스 객체 내의 여러 속성과 메서드들을 이용할 때, Dot(.) Notation을 사용합니다. 다른 의미로 이를 Method Chaining이라고 하기도 합니다. dot(.)이라는 Notation을 통해 객체의 메서드를 이용하는 걸 chain이라고 표현하는 것 같습니다.
1. Relative import
현재 모듈 내의 패키지 이름을 명시적으로 참조하는 방법입니다. 정확한 이해는 아닙니다만, 엑셀의 절대 참조와 상대 참조를 생각하시면 어느 정도 도움이 될 것 같습니다. 상대 참조는 행이 바뀔 때마다 참조하는 값이 바뀝니다만, 절대 참조는 그렇지 않죠. Relative import도 현재 모듈내의 패키지 이름을 참조하기 위해서 사용하는 방법이라고 생각합니다.
from .myModule import Myfunction
Myfunctino이라는 함수를 myModule이라는 패키지에서 참조하라는 의미입니다.
from .myModule import Myfunction
from ..myModule2 import Myfunction2
먄약, 모듈 간의 위계가 있는 경우 ..이 많아질 수록 한단계 상위 모듈로 올라간다고 생각하면 됩니다.
https://www.python.org/dev/peps/pep-0328/#guido-s-decision
https://docs.python.org/3/tutorial/modules.html
자세한 내용은 여기서 살펴볼 수 있습니다.
'딥상어동의 딥한 프로그래밍 > Python' 카테고리의 다른 글
[Python] 클래스와 상속 기초 예제 (0) | 2022.04.24 |
---|---|
[pytest] TDD, 초간단 pytest 실행해보기 (0) | 2022.04.17 |
[Python] PEP 8 스타일 가이드 중 헷갈리는 것 정리 (0) | 2022.04.11 |
파이썬을 효과적으로 사용하기 위한 몇가지 방법들 (0) | 2022.03.06 |
[Jupyter Notebook] 셀 넓이 설정, 다크 모드 (2) | 2021.09.26 |
제 블로그에 와주셔서 감사합니다! 다들 오늘 하루도 좋은 일 있으시길~~
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!