세모이
개발 계발
세모이
전체 방문자
오늘
어제
  • 분류 전체보기 (83)
    • 알고리즘 (1)
    • 자바스크립트 (29)
    • 리액트 (10)
    • HTML&CSS (2)
    • TIL (26)
    • 파이썬 (8)
    • Dev (1)
    • 데일리 (3)
      • 2023 (3)
    • 에러일기 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바스크립트 깊은 복사 얕은 복사
  • 자바스크립트 빌트인 객체
  • 모던 자바스크립트 deep deive
  • 개발자 도구 Network
  • 자바스크립트 프로퍼티 어트리뷰트
  • 자바스크립트
  • 자바스크립트 함수와 일급 객체
  • const let 키워드와 블록레벨 스코프
  • 시멘틱 태그
  • 함수
  • 모던 자바스크립트
  • &&연산자
  • 자바스크립트 프로토타입
  • 자바스크립트 strict mode
  • 자바스크립트 생성자 함수에 의한 객체 생성
  • html 신기한 태그
  • 자바스크립트 전역 변수의 문제점
  • 모던 자바스크립트 deep dive
  • 옵셔널 체이닝
  • 리액트 key

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
세모이

개발 계발

4. 파이썬 클래스 (python class)
파이썬

4. 파이썬 클래스 (python class)

2021. 1. 29. 14:31
반응형

파이썬 클래스

class Fourcal:
    def setdata(self, first, second):       #메서드의 첫 번째 매개변수 self를 명시적으로 구현하는 것은 파이썬만의 독특한 특징
        self.first = first
        self.second = second


a=Fourcal()
a.setdata(4, 2)  #a.setdata(4, 2)처럼 호출하면 setdata 메서드의 첫 번째 매개변수 self에는 setdata메서드를 호출한 객체 a가 자동으로 전달되기 때문
print(a.first)
print(a.second)
b=Fourcal()
b.setdata(10,20)
print(b.first)
- a 객체의 first 값은 b 객체의 first 값에 영향받지 않고 원래 값을 유지하고 있음을 확인할 수 있다
- 클래스로 만든 객체의 객체변수는 다른 객체의 객체변수에 상관없이 독립적인 값을 유지
###id 함수는 객체의 주소를 돌려주는 파이썬 내장 함수
print(id(a.first))
print(id(b.first))
# a 객체의 first 주소 값과 b 객체의 first 주소 값이 서로 다르므로 각각 다른 곳에 그 값이 저장된다는 것을 알 수 있음
class Fourcal:
    def setdata(self, first, second):
        self.first = first
        self.second = second
    def add(self):
        return self.first+self.second
    def mul(self):
        return  self.first*self.second

a=Fourcal()

a.setdata(20,30)
print(a.add())  #a.add() 메서드 호출 전에 a.setdata(4, 2) 가 먼저 호출되어 a.first = 4, a.second = 2 라고 이미 설정
print(a.mul())
# 위의 예제에서 setdata 메서드 수행하지 않고 다른 메서드 실행하면 오류
# 초깃값이 필요할 때 생성자(객체가 생성될 때 자동으로 호출되는 메서드를 의미)를 사용
class Fourcal:
    def __init__(self, first, second):
        self.first = first
        self.second = second
    def add(self):
        return self.first+self.second
    def mul(self):
        return  self.first*self.second
    def sub(self):
        return self.first-self.second

a=Fourcal(11,12)
print(a.mul())

클래스의 상속 : 어떤 클래스를 만들 때 다른 클래스의 기능을 물려받을 수 있게 만드는 것
-> 클래스의 기능을 확장시킬 때 주로 사용

class MoreFourCal(Fourcal):
    def pow(self):
        result = self.first ** self.second
        return result
    def sub(self):
        if(self.second==0) : return '영은 넣지마세요'
        else: return self.first-self.second

a=MoreFourCal(6,5)
print("상속")
print(a.add())
print(a.pow())
print(a.sub())


b=MoreFourCal(50,0)
print(b.add())
print(b.sub())
반응형

'파이썬' 카테고리의 다른 글

6. 파이썬 예외(python exception)  (0) 2021.02.07
5. 파이썬 모듈(python module)  (0) 2021.01.30
3. 파이썬 함수(python function)  (0) 2021.01.29
2. 파이썬 제어문(python control)  (0) 2021.01.25
1. 파이썬 데이터 타입(python data type)  (0) 2021.01.21
    '파이썬' 카테고리의 다른 글
    • 6. 파이썬 예외(python exception)
    • 5. 파이썬 모듈(python module)
    • 3. 파이썬 함수(python function)
    • 2. 파이썬 제어문(python control)
    세모이
    세모이
    개발 공부!

    티스토리툴바