달나라 노트

Python Basic : dir (class의 method, attribute 확인하기, class method, attribute 리스트 확인) 본문

Python/Python Basic

Python Basic : dir (class의 method, attribute 확인하기, class method, attribute 리스트 확인)

CosmosProject 2024. 2. 27. 21:45
728x90
반응형

 

 

 

Python을 사용하다 보면 다양한 class를 사용하게 됩니다.

외부에서 library를 import 해올 때, 내가 직접 만든 class를 사용할 때 정말 많은 경우에 class를 사용하게 됩니다.

 

근데 내가 class를 직접 구성한다고 해도 그 내용을 영원히 기억하고 있을 수는 없으며,

하물며 외부 module을 import할 때 어떤 class에 어떤 attribute와 method가 정의되어있는지 다 알기는 어렵습니다.

 

관련 library의 document를 찾아보는 것도 좋은 방법이지만 구글링을 해서 원하는 정보를 찾아내는데 시간은 걸리죠.

 

이때 사용할 꽤 유용한 방법이 있습니다.

 

바로 dir method입니다.

 

 

Syntax

dir(param)

 

dir() method는 parameter로 받은 객체가 가진 attribute와 method를 출력해줍니다.

 

 

 

 

import pandas as pd


print(dir(pd))



-- Result
['ArrowDtype', 'BooleanDtype', 'Categorical', 'CategoricalDtype', 'CategoricalIndex', 'DataFrame', 'DateOffset', 'DatetimeIndex', 'DatetimeTZDtype', 'ExcelFile', 'ExcelWriter', 'Flags', 'Float32Dtype', 'Float64Dtype', 'Float64Index', 'Grouper', 'HDFStore', 'Index', 'IndexSlice', 'Int16Dtype', 'Int32Dtype', 'Int64Dtype', 'Int64Index', 'Int8Dtype', 'Interval', 'IntervalDtype', 'IntervalIndex', 'MultiIndex', 'NA', 'NaT', 'NamedAgg', 'Period', 'PeriodDtype', 'PeriodIndex', 'RangeIndex', 'Series', 'SparseDtype', 'StringDtype', 'Timedelta', 'TimedeltaIndex', 'Timestamp', 'UInt16Dtype', 'UInt32Dtype', 'UInt64Dtype', 'UInt64Index', 'UInt8Dtype', '__all__', '__builtins__', '__cached__', '__deprecated_num_index_names', '__dir__', '__doc__', '__docformat__', '__file__', '__getattr__', '__git_version__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', '_config', '_is_numpy_dev', '_libs', '_testing', '_typing', '_version', 'annotations', 'api', 'array', 'arrays', 'bdate_range', 'compat', 'concat', 'core', 'crosstab', 'cut', 'date_range', 'describe_option', 'errors', 'eval', 'factorize', 'from_dummies', 'get_dummies', 'get_option', 'infer_freq', 'interval_range', 'io', 'isna', 'isnull', 'json_normalize', 'lreshape', 'melt', 'merge', 'merge_asof', 'merge_ordered', 'notna', 'notnull', 'offsets', 'option_context', 'options', 'pandas', 'period_range', 'pivot', 'pivot_table', 'plotting', 'qcut', 'read_clipboard', 'read_csv', 'read_excel', 'read_feather', 'read_fwf', 'read_gbq', 'read_hdf', 'read_html', 'read_json', 'read_orc', 'read_parquet', 'read_pickle', 'read_sas', 'read_spss', 'read_sql', 'read_sql_query', 'read_sql_table', 'read_stata', 'read_table', 'read_xml', 'reset_option', 'set_eng_float_format', 'set_option', 'show_versions', 'test', 'testing', 'timedelta_range', 'to_datetime', 'to_numeric', 'to_pickle', 'to_timedelta', 'tseries', 'unique', 'util', 'value_counts', 'wide_to_long']

 

간단하게 pandas library를 dir에 전달하고 그 결과를 출력해 보았습니다.

list 형태의 데이터가 출력되는데 여기에 출력된 모든 것이 pandas가 가지고 있는 attribute 또는 method입니다.

 

 

 

 

value_counts
pivot_table
read_csv
read_excel

 

위 list를 보면 위처럼 평소에 비교적 자주 쓰이는 method들도 보입니다.

 

이렇게 내가 어느정도 감은 잡고 있는데 method, attribute의 이름이 정확히 뭔지 파악할 때 사용하면 굉장히 유용합니다.

 

 

 

 

 

728x90
반응형
Comments