320x100
# OOP - 객체 지향 프로그래밍 Object Oriented Programming
# 예외적으로 class는 카멜기입법만 허용한다. - 스네이크는 number_of 이런식으로 가고 카멜은 NumberOf이런 식으로 전개
class NameOfClass():
# __init__은 초기화 함수다. 예를들어 이게 없으면 첫번째 사용땐 문제가 없는데
# 두번째 사용부턴 처음에 정의된 값으로 진행된다더라
def __init__(self,param1, param2):
self.param1 = param1
self.param2 = param2
# 클래스 안의 정의함수는 함수라고 하지 않고 '메서드'라고 부른다고 한다.
def some_method(self):
# perform some action
print(self.param1)
class Circle():
pi = 3.14
def __init__(self, radius):
self.radius = radius
def area(self):
return self.radius * self.radius* self.pi
def perimeter(self):
# Cricle.pi나 self.pi나 해당 클래스에선 같은 의미다.
return 2 * self.radius * Circle.pi
def double_radius(self):
self.radius = self.radius * 2
print(f'Radius has been doubled to {self.radius}')
mycircle = Circle(4)
print(mycircle.area)
# <bound method Circle.area of <__main__.Circle object at 0x7fe2f00c9340>>
# 때문에 여기서 area를 출력하고 싶으면 area()라고 해줘야한다.
print(mycircle.area())
print(mycircle.perimeter())
mycircle.double_radius()
300x250
'개발일지 > 임시카테고리' 카테고리의 다른 글
Python class3 - 상속 (0) | 2022.09.28 |
---|---|
Python 문제11 - class 메서드 정의 후 호출 (0) | 2022.09.28 |
Python 문제10 - class (0) | 2022.09.28 |
Python class (0) | 2022.09.28 |
*매우매우중요 Python 문제9 - try, except, finally 오류 및 예외 처리 (0) | 2022.09.28 |