250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- Leetcode
- 내배캠_학습기록
- 이중for문
- Join
- Set
- f-string
- AB테스트
- 내일배움일지
- 통계학
- 프로그래머스
- 태블로
- 데이터전처리
- 선형회귀
- 다중공선성
- 가설검정
- map
- 아티클스터디
- Til
- Max
- 내일배움캠프
- 데이터시각화
- python
- SQLD
- SQL
- ★
- DATE_SUB
- 한줄for문
- 시각화
- 반복문
- 리스트
Archives
- Today
- Total
노력에는 지름길이 없으니까요
파이썬 클래스, init과 self에 대한 이해 본문
728x90
클래스의 용도?
클래스(Class)는 객체 지향 프로그래밍(OOP)의 중요한 개념 중 하나
객체 지향 프로그래밍은 현실 세계의 사물을 모델링하여 프로그래밍하는 방법.
클래스는 코드를 조직화하고 재사용성을 높이기 위해 사용한다.
클래스의 다형성
class Animal:
def sound(self):
print("Some generic sound")
class Dog(Animal):
def sound(self):
print("Woof")
class Cat(Animal):
def sound(self):
print("Meow")
# 다형성 활용
animals = [Dog(), Cat()]
for animal in animals:
animal.sound()
세가지 클래스에 대해 모두 같은 이름의 (sound) 메소드가 선언되어 있지만,
다른 클래스에서 선언되어 있기 때문에 각각 다른 문자열이 출력될 것이다.
init이란?
__init__은 파이썬에서 클래스의 생성자(constructor) 메소드.
클래스의 인스턴스를 생성할 때 자동으로 호출되며, 인스턴스가 생성될 때 초기화 작업을 수행하는 메소드.
(가끔 vs에서 프로젝트를 진행하면서 init 폴더가 없을 때 오류가 나던 경우가 떠올랐다.)
class ClassName:
def __init__(self, parameter1, parameter2):
self.attribute1 = parameter1
self.attribute2 = parameter2
def method1(self, parameter1, parameter2):
# 메서드 내용 작성
pass
어떤 클래스를 사용하든지 초기값을 설정을 해야하기 때문에 init은 반드시 필요하다.
self란?
init에서 초기화를 위해 사용되는 클래스 그 자체를 상징하는 변수라고 생각하면 쉽다.
메서드의 첫 번째 매개변수로 self를 반드시 사용해야 함!
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
# 객체 생성
person1 = Person("Alice", 30)
person2 = Person("Bob", 25)
클래스 사용 예시
클래스를 사용하여 데이터 전처리 단계를 모듈화하고 재사용 가능한 코드로 만들 수 있다.
raw_data = [1,2,4,5,6,87,2,253654]
class DataPreprocessor:
def __init__(self, data):
self.data = data
def normalize_data(self):
# 데이터 정규화 작업 수행
pass
def handle_missing_values(self):
# 결측치 처리 작업 수행
pass
def remove_outliers(self):
# 이상치 제거 작업 수행
pass
# 데이터 전처리 객체 생성
preprocessor = DataPreprocessor(raw_data)
preprocessor.normalize_data()
preprocessor.handle_missing_values()
preprocessor.remove_outliers()
참고
데이터 분석 파이썬 종합반 강의자료
728x90
반응형
'Python' 카테고리의 다른 글
파이썬, 데코레이션 (0) | 2024.07.15 |
---|---|
파이썬, 불리언 인덱싱이란? (0) | 2024.07.12 |
파이썬 포맷팅 (0) | 2024.07.11 |
join 사용법 (0) | 2024.07.05 |
tuple과 SET (0) | 2024.06.28 |