프로그래밍/Python
[파이썬/python] [클래스] 특수 메소드
Rolen
2022. 9. 28. 01:11
print(객체)
이것만으로 객체안의 정보들을 알 수 있다면 편할 것이다.
__str__() 메소드를 class 안에 정의하면 가능하다.
class Count:
def __init__(self, num):
self.num = num
def __eq__(self, other):
return self.num == other.num
def __str__(self):
message = "담긴숫자: " + str(self.num) # 문자열과 합치기 위한 데이터타입 문자열 변환 함수str
return message
num1 = Count(10)
print(num1) // 담긴숫자: 10
객체를 연산할 수 있는 특수 메소드
예시) __eq__ 메소드 ( == 를 사용하는 메소드)
class Count:
def __init__(self, num):
self.num = num
def __eq__(self, other):
return self.num == other.num
num1 = Count(10)
num2 = Count(10)
if num1 == num2:
print("두 객체의 값이 같음")
#출력: 두 객체의 값이 같음
divmod(x, y) >>> __divmod__(self, y) / 실수나눗셈과 나머지
x + y >>> __add__(self, y) / 덧셈 # y는 위 예시에서 other
x - y >>> __sub__(self, y) / 뺄셈
x * y >>> __mul__(self, y) / 곱셈
x / y >>> __truediv__(self, y) / 실수나눗셈
x // y >>> __floordiv__(self, y) / 정수나눗셈 (몫만)
x % y >>> __mod__(self, y) / 나머지
x ** y >>> __pow__(self, y) / 지수
x << y >>> __lshift__(self, y) / 왼쪽 비트 이동
x >> y >>> __rshift__(self, y) / 오른쪽 비트 이동
x <= y >>> __le__(self, y) / 작거나 같다
x < y >>> __lt__(self, y) / 작다
x >= y >>> __ge__(self, y) / 크거나 같다
x > y >>> __gt__(self, y) / 크다
x == y >>> __eq__(self, y) / 같다
x != y >>> __neq__(self, y) / 같지않다
728x90