딥상어동의 딥한 생각

[Python] Dot.점 의 의미

by 딥상어동의 딥한생각

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

 

PEP 328 -- Imports: Multi-Line and Absolute/Relative

The official home of the Python Programming Language

www.python.org

https://docs.python.org/3/tutorial/modules.html

 

6. Modules — Python 3.10.2 documentation

6. Modules If you quit from the Python interpreter and enter it again, the definitions you have made (functions and variables) are lost. Therefore, if you want to write a somewhat longer program, you are better off using a text editor to prepare the input

docs.python.org

자세한 내용은 여기서 살펴볼 수 있습니다.

 

 

 

블로그의 정보

딥상어동의 딥한생각

딥상어동의 딥한생각

활동하기