파이썬 문법 까먹음

박진은·2022년 5월 5일
0

자료구조

목록 보기
5/37

파이썬 상속

상속을 원하는 클래스를 import 한 후에 상속 받은 클래스를 생성하기 위해서 는 아래와 같이 자식클래스의 클래스명에 부모클래스 명을 넣어준디.

class 자식 클래스 명(부모 클래스 명):

class자식클래스이름(부모클래스이름):

def __init__(self, 속성값1, 속성값2):
        super(자식클래스이름, self).__init__()
        자식 클래스의 초기화 코드

위와 같이 작성하면 부모의 생성자 또한 호출되어서 자식클래스는 부모의 기능 + 자식의 기능을 가지고 있다.

class upgradSet(Set):

    def __init__(self):
        super(upgradSet, self).__init__()

내가 만든 upgradSet이라는 클래스는 set 클래스를 상속받고 생성자에서 super(upgradSet, self).__init__() 을 사용해서 부모의 기능을 생성하자마자 물려받도록 만들었다.

**3. 주의! 파이썬은 메소드 오버로딩이 없다.**

  • 메소드 오버로딩이란? : 하나의 클래스 내부에서 메소드 명칭은 똑같고, 인자를 다르게하는 형태를 허용합니다.
  • Java코드는 아래와 같은 코드를 허용합니다.
classAdder{
staticint add(int a,int b)
    {
return a+b;
    }
staticint add(int a,int b,int c)
    {
return a+b+c;
    }
}
  • 파이썬은 메소드 오버로딩이 없습니다.
  • 아래와 같은 코드가 있다면 첫번째 show는 무시되고, 두번째 show만 유지됩니다.
class newSet(Set):
    def __init__(self):
        super(newSet, self).__init__()

    def contains(self, item):
        for i in self.Set:
            if item == i:
                return True
        return False

    def delete(self, item):
        if self.contains(item):
            self.Set.pop(item)

파이썬에서 같은 클래스 안에 있는 함수를 같은 클래스 내에서 호출하기 위해서는 self.함수명을 갈기면 호출이 가능하다 이거 몰라서 자바랑 똑같이 어떻게 사용하는 존나 찾았다 화가난다,,,

def __init__(self):
    self.polyList = [0]

진은아 몇번을 말해야 알아듣냐 제발 self를 붙여서 선언해야 클래스 내부 인스턴스로 선언되는 거야 정신차려 진은아

from node import node 파이써는 듈이름이랑 클래스 이름이랑 다른 것도 가능해서 위에 처럼 진은아

from modul명 import classname 이렇게 만들어줘야 바로 import한 클래스 안에서 객체생서이 가능해 진은아

그리고 우와 같이 사용하려면 import 당하는 모듈이랑 import 하는 모듈이랑 같은 디렉토리 안에 속해있어야 SSAPSSABLIE이다

profile
코딩

0개의 댓글