python 에서 class 에 대해 질문이있습니다.

조회수 1739회
class Test :

def foo1(self) :
    print(id(self))

def foo2() :
    print('foo4')

TestClass = Test()
TestClass.foo1()

Test.foo2()

 """ =================================== """

TestClass.foo2()
Test.foo1()

이렇게 작성했을경우 절취선을 기준으로 아래부분의 코드들은 에러가나는데요 절취선을 기준으로 위의 코드와 아래코드의 차이점이 무엇인가요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 일단 클래스는 저렇게 바로 호출할수가 없어서 위 코드와 같이 Test 클래스를 지정한 TestClass 인스턴스를 만들어 주어야 됩니다

    Test.foo1() //작동안함
    
    TestClass = Test()
    TestClass.foo1() // 작동함
    

    그리고 클래스안에 함수는 첫번째 인자로 self를 넣어줘야 작동이 됩니다

    그래서 foo2()함수도 foo2(self) 이렇게 고쳐주어야 합니다

    파이썬 클래스에 대해서 자세하게 배울수있는 사이트입니다. 읽어보시면 도움이 될거에요

    https://wikidocs.net/28

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)