클래스 기본 구조
여기서 __init__ 메서드는 클래스의 생성자로, 객체가 생성될 때 호출되며 초기화 작업을 수행
클래스 내부의 메서드들은 클래스의 동작을 정의하는 함수임.
메서드의 첫 번째 매개변수로 self를 반드시 사용해야 함. 이는 해당 메서드가 속한 객체를 가리킴.
클래스의 속성과 메소드
클래스(Class)는 객체(Object)를 생성하기 위한 템플릿이며, 메서드(Method)와 속성(Attribute)을 가질 수 있음.
- 메서드(Method)
- 클래스 내부에 정의된 함수를 말함.
- 메서드는 클래스에 속한 함수, 특정 작업을 수행하거나 클래스의 상태를 변경하는 역할
- 메서드는 일반적으로 클래스의 인스턴스(instance)에서 호출되며, 해당 인스턴스의 상태에 따라 동작
- 일반적으로 self 매개변수를 첫 번째 매개변수로 사용하여 메서드가 속한 인스턴스를 참조
- 속성(Attribute)
- 클래스나 클래스의 인스턴스에 속한 변수
- 속성은 클래스나 인스턴스의 상태를 나타냅니다. 즉, 객체의 데이터를 저장
- 각 인스턴스마다 고유한 값이 가질 수 있는 인스턴스 속성과 클래스에 속한 공유 속성(static attribute)이 있음.
class Dog:
def __init__(self, name): << 얘가 메소드
self.name = name # << 얘가 인스턴스 속성
# Dog 클래스의 인스턴스 생성
my_dog = Dog("Buddy")
print(my_dog.name) # 출력: Buddy
불리언 인덱싱
불리언 인덱싱(Boolean indexing)은 조건에 따라 요소를 선택하는 방법 중 하나
Pandas에서 데이터를 조건에 맞게 선택할 때 많이 사용함. 파이썬에서는 Numpy를 활용하여 사용 가능.
import numpy as np
# 배열 생성
arr = np.array([1, 2, 3, 4, 5])
# 불리언 배열 생성 (조건에 따라 True 또는 False 값을 갖는 배열)
condition = np.array([True, False, True, False, True])
# 불리언 인덱싱을 사용하여 조건에 맞는 요소 선택
result = arr[condition]
# 결과 출력
print("Result using boolean indexing:", result) # 출력: [1 3 5]
# 불리언 인덱싱을 사용하여 배열에서 짝수인 요소만 선택
evens = arr[arr % 2 == 0]
# 결과 출력
print("Even numbers using boolean indexing:", evens) # 출력: [2 4]
데코레이션
def my_decorator(func):
def wrapper():
print("Something is happening before the function is called.")
func()
print("Something is happening after the function is called.")
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
위에서 @my_decorator 아래에 있는 함수가 func으로서 my_decorator 함수의 인로 들어감.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
문자열.upper() > 문자열을 대문자로 변환하여 반환
문자열.lower() > 문자열을 소문자로 변환하여 반환
'TIL > Python' 카테고리의 다른 글
TIL (7/15) <replace(), 문자열 기준대로 정렬하기, 최소 직사각형> (0) | 2024.07.15 |
---|---|
TIL (7/12) <zip(), enumerate()> (0) | 2024.07.12 |
TIL #12 <파일 불러오기, 패키지, lambda, filter, map> (0) | 2024.07.10 |
TIL #11 <Date_format , join(python), abs(python, 연산자 우선순위)> (0) | 2024.07.09 |
TIL #10 <집합과 리스트의 차이, Month, *args와 **kwargs > (0) | 2024.07.08 |