Guidelines

클래슀의 특수 λ©”μ†Œλ“œ

클래슀의 특수 λ©”μ†Œλ“œλŠ” 객체의 λ™μž‘μ„ μ •μ˜ν•˜κ³ , 파이썬의 λ‚΄μž₯ ν•¨μˆ˜μ™€μ˜ μƒν˜Έμž‘μš©μ„ κ΄€λ¦¬ν•©λ‹ˆλ‹€.

μ΄λŸ¬ν•œ λ©”μ†Œλ“œλ“€μ€ '맀직 λ©”μ†Œλ“œ(Magic method)'라고도 뢈리며, 더블 μ–Έλ”μŠ€μ½”μ–΄(__, 밑쀄 2개)둜 μ‹œμž‘ν•˜κ³  λλ‚©λ‹ˆλ‹€.


특수 λ©”μ†Œλ“œ μ‚¬μš© μ˜ˆμ‹œ

__str__, __eq__ 특수 λ©”μ†Œλ“œ μ˜ˆμ‹œ
class Book: def __init__(self, title, author): self.title = title self.author = author def __str__(self): return f"{self.title} by {self.author}" def __eq__(self, other): return self.title == other.title and self.author == other.author # 클래슀 μ‚¬μš© μ˜ˆμ‹œ book1 = Book("해리포터", "J.K. 둀링") print(book1) # '해리포터 by J.K. 둀링' 좜λ ₯ book2 = Book("해리포터", "J.K. 둀링") book3 = Book("지ꡬ 끝의 μ„œμ ", "νŽ˜λ„¬λ‘œνŽ˜") print(book1 == book2) # titleκ³Ό authorκ°€ λͺ¨λ‘ κ°™μœΌλ―€λ‘œ True print(book1 == book3) # False

이 μ˜ˆμ œμ—μ„œ __str__ λ©”μ†Œλ“œλŠ” Book 객체λ₯Ό λ¬Έμžμ—΄λ‘œ λ‚˜νƒ€λ‚΄κ³ , __eq__ λ©”μ†Œλ“œλŠ” 두 Book 객체가 같은 책인지 λΉ„κ΅ν•©λ‹ˆλ‹€.


특수 λ©”μ†Œλ“œ μ’…λ₯˜

  • __str__(self): 객체λ₯Ό λ¬Έμžμ—΄λ‘œ ν‘œν˜„ν•  λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€. print() ν•¨μˆ˜λ‚˜ str() ν•¨μˆ˜κ°€ 호좜될 λ•Œ μ‹€ν–‰λ©λ‹ˆλ‹€.

  • __eq__(self, other): == μ—°μ‚°μžλ₯Ό μž¬μ •μ˜ν•˜μ—¬ 객체 κ°„μ˜ 동등성 비ꡐλ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.

  • __ne__(self, other): != μ—°μ‚°μžλ₯Ό μž¬μ •μ˜ν•˜μ—¬ 객체 κ°„μ˜ λΆ€λ“±μ„± 비ꡐλ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.

  • __gt__(self, other): > μ—°μ‚°μžλ₯Ό μž¬μ •μ˜ν•˜μ—¬ 객체 κ°„μ˜ 크기 비ꡐλ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.

  • __ge__(self, other): >= μ—°μ‚°μžλ₯Ό μž¬μ •μ˜ν•˜μ—¬ 객체 κ°„μ˜ 크기 비ꡐλ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.

  • __lt__(self, other): < μ—°μ‚°μžλ₯Ό μž¬μ •μ˜ν•˜μ—¬ 객체 κ°„μ˜ 크기 비ꡐλ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.

  • __le__(self, other): <= μ—°μ‚°μžλ₯Ό μž¬μ •μ˜ν•˜μ—¬ 객체 κ°„μ˜ 크기 비ꡐλ₯Ό μ •μ˜ν•©λ‹ˆλ‹€.

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result