객체를 정의하고 만들기 위한 변수와 메서드의 집합
비유: 와플 찍어내는 틀
비유: 틀에 의해 만들어진 하나하나의 와플
클래스의 객체가 소프트웨어에 실체화된 것
class car:
def on(self):
print("차량의 시동을 켭니다.")
ray=car() //ray는 객체(object)이자 car 클래스의 인스턴스(instance)
ray.on() //메서드 실행
method: 클래스 안에서 구현하는 함수로, 메서드의 첫 번째 매개변수 이름은 self
변수는 self 없이 사용되면 로컬 변수로 처리되며 메서드 안에서만 사용 가능하다. 전역변수나 객체의 속성을 참조하지 않고 그 메서드 내에서만 사용할 수 있는 지역변수가 된다.
하지만 self를 붙이면 클래스 인스턴스의 속성으로 처리되어 인스턴스가 생성될 때마다 해당 객체의 속성으로 유지된다.
예시
class example():
# 생성자(constructor): 객체가 생성되면 자동으로 호출되어 객체 초기화시킴
def __init__(self):
self.ary=[] //객체 변수 ary
print('__init__()메서드를 통해 객체를 초기화 했습니다.')
#메서드 정의
def ary_append(self, item): #메서드의 첫 번째 인수는 self #인수 초기화할 때, 초기화할 인수는 순서 뒤쪽에 배치해주기
self.ary.append(item)
ex1=example()
print(ex1.ary)
ex1.ary_append(10)
pring(ex1.ary)
> __init__()메서드를 통해 객체를 초기화 했습니다.
> []
> []10
예시2
class Hello():
def __init__(self, vlaue):
self.value=value
print('__init__()메서드를 통해 객체를 초기화 했습니다.')
print(f'인스턴스의 value 값은 {self.value}입니다.')
a=Hello()
참고-https://kingnamji.tistory.com/6
병렬 연결
names = ["Alice", "Bob", "Charlie"]
scores = [85, 92, 78]
for name, score in zip(names, scores):
print(f"{name} scored {score}")
> Alice scored 85
Bob scored 92
Charlie scored 78
타입 지정
dict(zip(keys, values))
boolean값에 int를 씌우면
range(start, stop, step)