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


class Test :

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

def foo2() :
    print('foo4')

TestClass = Test()
TestClass.foo1()

Test.foo2()

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

TestClass.foo2()
Test.foo1()

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

  • 2016년 07월 22일에 작성됨
    프로그래밍

조회수 143


1 답변


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

Test.foo1() //작동안함

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

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

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

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

https://wikidocs.net/28

  • 2016년 07월 22일에 작성됨
    웹을 좋아함

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close