728x90
반응형
질문 : 파이썬 객체에 어떤 메서드가 있는지 찾기
모든 종류의 Python 객체가 주어지면이 객체가 가진 모든 메서드 목록을 쉽게 얻을 수있는 방법이 있습니까?
또는,
이것이 가능하지 않다면, 메서드가 호출 될 때 단순히 오류가 발생하는지 확인하는 것 외에 특정 메서드가 있는지 확인하는 쉬운 방법이 있습니까?
답변
많은 객체 에 대해이 코드를 사용하여 'object'를 관심있는 객체로 바꿀 수 있습니다.
object_methods = [method_name for method_name in dir(object)
if callable(getattr(object, method_name))]
diveintopython.net 에서 발견했습니다 (현재 보관 됨). 더 자세한 정보가 제공되기를 바랍니다.
AttributeError
받으면 대신 이것을 사용할 수 있습니다 .
getattr(
은 pandas 스타일 python3.6 추상 가상 하위 클래스를 용납하지 않습니다.이 코드는 위와 동일하며 예외를 무시합니다.
import pandas as pd
df = pd.DataFrame([[10, 20, 30], [100, 200, 300]],
columns=['foo', 'bar', 'baz'])
def get_methods(object, spacing=20):
methodList = []
for method_name in dir(object):
try:
if callable(getattr(object, method_name)):
methodList.append(str(method_name))
except:
methodList.append(str(method_name))
processFunc = (lambda s: ' '.join(s.split())) or (lambda s: s)
for method in methodList:
try:
print(str(method.ljust(spacing)) + ' ' +
processFunc(str(getattr(object, method).__doc__)[0:90]))
except:
print(method.ljust(spacing) + ' ' + ' getattr() failed')
get_methods(df['foo'])
출처 : https://stackoverflow.com/questions/34439/finding-what-methods-a-python-object-has
728x90
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
유니 코드 문자열을 Python의 문자열로 변환 (추가 기호 포함) (0) | 2021.11.29 |
---|---|
파이썬에서 “_” 변수의 목적 (0) | 2021.11.29 |
Python : 어떤 OS에서 실행 중인지 확인하는 방법 (0) | 2021.11.26 |
파이썬 예외 메시지를 출력하는 방법 (0) | 2021.11.26 |
저장된 csv에서 Python / Pandas가 색인을 생성하지 않도록 하는 방법 (0) | 2021.11.26 |