• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

예제 2

21.01.28 18:33 작성 조회수 141

0

제가 아톰 에디터가 아닌 인텔리제이를 사용하고 있는데 예제 2번에서 func1에 아무 인자를 넘겨주지 않으면 오류가 뜨는데 왜그럴까요ㅠㅠ

Method must have a first parameter, usually called 'self' 라는 오류가 뜹니다ㅜㅜ

# 예제 2
# self의 이해
class SeltTest:
def func1():
print('Func1 called')
def func2(self):
print('Func2 called')

답변 1

답변을 작성해보세요.

0

PARK JUNYEONG님의 프로필

PARK JUNYEONG

2021.01.28

Stackoverflow에서 검색해보니

@staticmethod와  @classmethod로 정의하면 해결되는 문제인 것 같습니다 :)

class SelfTest:
    @staticmethod
    def func1():
        print('Func1 called')

    @classmethod
    def func2(self):
        print('Func2 called')

직접 제가 위에 있는걸로 해보니 오류가 없어지네요

전 intellij에 있는 Pycharm을 사용했습니다.

혹시나 하는 마음에 Atom과 Visual Studio Code 오류가 나는지 확인해봤는데 

intellij에만 일어나는 오류이고 Atom이나  visual studio에서는 일어나지 않습니다!

-----------------------------------------------------------------------------

도움이 되었으면 우측하단 또는 좌측하단에 하트 한번만 눌러주세요 :)

또한, 해결이 안된 경우 답글 작성 부탁드립니다!