[Python] Class, 특수 메서드, Docstring

2022. 12. 25.·🤓 기술 학습 & 공부 기록/Python

📍클래스 및 메서드 정의

class ClassName:
    def method_name(self, other_parameters):
        body_of_method

 

- 메서드의 첫 번째 매개변수(self)는 현재 인스턴스를 나타낸다

- self 예시

class Dog:
    years = 0
    def dog_years(self):
        return self.years * 7

fido = Dog()
fido.years = 3
print(fido.dog_years()) # 21

 

- 클래스 예시 1

class Person:
    apples = 0
    ideas = 0


johanna = Person()
johanna.apples = 1
johanna.ideas = 1

martin = Person()
martin.apples = 2
martin.ideas = 1


def exchange_apples(you, me):
    temp = you.apples
    you.apples = me.apples
    me.apples = temp
    return you.apples, me.apples


def exchange_ideas(you, me):
    total = you.ideas + me.ideas
    you.ideas = total
    me.ideas = total
    return you.ideas, me.ideas


exchange_apples(johanna, martin)
print("Johanna has {} apples and Martin has {} apples".format(johanna.apples, martin.apples))
# Johanna has 2 apples and Martin has 1 apples

exchange_ideas(johanna, martin)
print("Johanna has {} ideas and Martin has {} ideas".format(johanna.ideas, martin.ideas))
# Johanna has 2 ideas and Martin has 2 ideas

 

📍특수 메서드

- __로  시작하고 끝난다

- 예) __init__ , __str__

 

1️⃣__init__

- 생성자 메서드

- 첫 매개변수는 해당 인스턴스를 가리키는 self가 되어야 함

 

2️⃣__str__

-  객체의 인스턴스가 print() 함수에 전달될 때 인쇄되는 방법을 정의할 수 있다

그렇지 않으면 메모리 주소가 출력

 

- 예시

class Apple:
    def __init__(self, color, flavor):
        self.color = color
        self.flavor = flavor

    def __str__(self):
        return "This apple is {} and its flavor is {}".format(self.color, self.flavor)


jonagold = Apple("red", "sweet")
print(jonagold) # This apple is red and its flavor is sweet

 

📍Docstring 기능

- """ """ 사이에 입력

- 메서드 위에 커서를 올리면 나타나고, help 메서드로도 출력 가능

def to_seconds(hours, minutes, seconds):
    """시간, 분, 초를 입력받아 초로 변환하여 반환"""
    return hours * 3600 + minutes * 60 + seconds

help(to_seconds)

 

 

'🤓 기술 학습 & 공부 기록/Python' 카테고리의 다른 글
  • [Python] Module
  • [Python] Class 상속
  • [Python] dir, help 메서드 +a
  • [Python] Dictionary 연산, 메서드
지식물원
지식물원
지식이 자라는 식물원!
  • 지식물원
    지식물원
    지식물원
  • 전체
    오늘
    어제
    • 분류 전체보기 (516)
      • 🎨 프론트엔드 공부 (253)
        • JS & TS (92)
        • HTML & CSS (22)
        • React & Next (49)
        • Vue & Nuxt (22)
        • 기타 (68)
      • 🤓 기술 학습 & 공부 기록 (116)
        • Node.js (0)
        • Python (37)
        • 백엔드 (0)
        • 딥러닝 (1)
        • 컴퓨터 일반 (72)
        • 개발 인프라 (6)
      • 👨‍💻 프로젝트 경험 (6)
        • Work (0)
        • Toy (6)
      • ⚙️ 개발 팁 & 노하우 (21)
        • 프론트엔드 (6)
        • 기타 (15)
      • ☕️ 커리어 & 인터뷰 준비 (88)
        • 코딩 테스트 (88)
      • 📰 기술 트렌드 & 생각 정리 (4)
      • 📚 기타 (25)
        • 마케팅 (15)
        • 비개발서적 (10)
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

    • 모바일 접속 시 코드 하이라이팅 깨질 때
  • 인기 글

  • hELLO· Designed By정상우.v4.10.3
지식물원
[Python] Class, 특수 메서드, Docstring
상단으로

티스토리툴바