• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

함수, 클래스 괄호

22.10.07 11:57 작성 조회수 584

1

안녕하세요 선생님

수업 중간과 개인공부할때 헷갈리는 것이

함수 및 클래스 선언간에

괄호는 붙히는 경우도 있고 안붙히는 경우도 있고

괄호안에 변수를 넣는 경우도 있고 안넣는 경우도 있고

각각의 의미가 다른 것인지 질문드립니다

 

ex)

클래스

class abc: >> 괄호 미사용

def __init__(self) :

함수

def efg(): >> 괄호사용

for문

for n in df_sn.index: >> 괄호 미사용

답변 1

답변을 작성해보세요.

1

안녕하세요.

질문 주신 내용에서 괄호가 들어가는 것은 함수나 메서드와 관련된 것이며,

클래스명에서도 괄호가 들어갈 때도 있고 안 들어갈 때도 있는데 클래스를 정의할 때는 괄호가 없지만 특정 클래스를 상속해서 사용할 때는 괄호가 들어갑니다.

class 클래스명:

class 클래스명(상속할 클래스):

그리고 호출할 때 df.index, df.shape, df.columns 등은 괄호가 들어가지 않는데 판다스 메서드 내부에 Attrubutes 형태로 구현되어 있기 때문입니다. 어떤 곳에 괄호가 들어가고 들어가지 않나요? 라는 질문도 자주 주시는데 Pandas API 에서 개발자들이 해당 기능에 맞는 형태로 구현을 해두었기 때문에 문서를 확인해 보는게 좋습니다. 단순하게 생각하면 옵션이 필요한 것에는 괄호가 들어가고 필요하지 않은 것에는 괄호가 들어가지 않는다는 방법으로 생각해 볼 수도 있지만 항상 통하는 방법은 아니기 때문에 공식문서를 확인해 보는게 가장 좋습니다.

다음 링크를 통해 클래스에 대한 설명을 좀 더 읽어보세요!

[05-3 패키지 - 점프 투 파이썬](https://wikidocs.net/1418

[9. 클래스 — Python 3.10.7 문서](https://docs.python.org/ko/3/tutorial/classes.html#a-first-look-at-classes))

 

판다스 데이터프레임 API 도 확인해 보세요!

[DataFrame — pandas 1.5.0 documentation](https://pandas.pydata.org/docs/reference/frame.html)

감사합니다!