split, join, 클래스, 불리언 인덱싱, 데코레이션
.split(): 문자열 공백을 기준으로 나누고 리스트로 반환
.split('/'): / 를 기준으로 나누로 리스트로 반환
.rsplit('/', 1): 오른쪽에서 1번째 / 를 기준으로 나눔.
.join(리스트): 리스트 내용을 이어 붙임
ex)
words = ['Hello,', 'how', 'are', 'you', 'doing', 'today?'] sentence = ' '.join(words) print(sentence) # 출력: Hello, how are you doing today? 특정 구분자를 사용하여 결합 fruits = ['apple', 'banana', 'grape', 'orange'] data = ','.join(fruits) print(data) # 출력: apple,banana,grape,orange
.strip(): 문자열 양 끝의 공백을 제거
__init__ 메서드: 클래스 생성할 때 항상 초기값을 설정해야함.class ClassName: def __init__(self, parameter1, parameter2): self.attribute1 = parameter1 self.attribute2 = parameter2 def method1(self, parameter1, parameter2): # 메서드 내용 작성 pass
person1 이라는 객체는 person이라는 클래스를 사용해서 만든거임.
class Person: def __init__(self, name, age): self.name = name self.age = age # 객체 생성 person1 = Person("Alice", 30) person2 = Person("Bob", 25)
다형성은 같은 이름의 메서드가 서로 다른 클래스에서 다른 기능을 수행하도록 하는 개념입니다.
sound()라는 함수가 서로 다른 클래스에서 다른 기능을 수행함.
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()
함수
클래스
메서드(Method)
class Car: def __init__(self, brand): self.brand = brand def start_engine(self): print(f"{self.brand}의 엔진을 가동합니다.") # Car 클래스의 인스턴스 생성 my_car = Car("Toyota") # start_engine() 메서드 호출 my_car.start_engine() # 출력: Toyota의 엔진을 가동합니다.
class Dog: def __init__(self, name): self.name = name # 인스턴스 속성 # Dog 클래스의 인스턴스 생성 my_dog = Dog("Buddy") print(my_dog.name) # 출력: Buddy
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]
ex) 기존의 say_hello() 라는 함수에 @my_decorator 라는 데코레이터를 입힘.
def my_decorator(func): def wrapper(): print("원하는 기능. 메시지 출력!") func() print("원하는 기능. 메시지 출력!") return wrapper @my_decorator def say_hello(): print("Hello!") say_hello()
Traceback (most recent call last): File "codeit.py", line 12, in <module> # 어떤 파일에서 몇번째 줄에 에러가 떴는지를 알려줌 numbers[right] = temp[left] # 어떤 코드가 잘못 되었는지를 알려줌 TypeError: 'int' object is not subscriptable # 에러의 종류 : 에러에 대한 세부 정보
','.join()을 은근 자주 사용하게 되는데 왜이렇게 익숙해 지지 않는건지.. 매번 사용법을 찾아보게 된다.