2022. 9. 20. 23:24ㆍ스파르타코딩클럽[AI트랙 3기]/파이썬(인강, 원격강의)
*유튜브
박대리 회사 채용 공고
박대리의 업무: 지원자 데이터 저장
지원자별로 카테고리를 다르게 제출(이름, 나이, 주소, 종교)
원래 정보를 name_1, name_2 같은 식으로 저장했는데 클래스를 쓰면 a.name, b.name 과 같이 앞으로감. a,b,c라는 클래스에 이름과 나이가 자동으로 저장됨.
name_1 = “a” / name_2 = “b” /name_3 = “c”
age_1 = 30 / age_1 = 8 / age_1 = 10
이렇게 6개는 전혀 연관성 없는 그냥 변수 6개
하지만 jss라는 클래스를 만들고 그 안에 a=jss() / b=jss() /c=jss()라고 클래스를 만들고 각각
a=jss() -> a.name = “a”, a.age= 30 / b=jss() -> b.name = “b”, b.age= 8/
c=jss() -> c.name = “c”, a.age= 10 이 각각 저장됨.
방법은
class JSS():
def __ init __(self): #클래스를 선언하는 순간 실행되는 함수
self.name=input(“이름:”)
self.age=input(“나이:”)
a=JSS() #라고 하면 선언과 동시에 init 함수안의 내용 실행
예제)
class JSS:
def __init__(self):
print(“ JSS 클래스 선언!”)
a=JSS() #JSS 클래스 선언! 그대로 나옴.
만약 다른 함수가 init 밑에 추가되면
def show(self):
print(“show 실행!”) #하면 출력안됨. 출력하고 싶으면 a.show()해줘야함. init함수가 아니라면 클래스 변수 뒤에 .함수 해줘야 실행.
*self
calss JSS:
def show(self):
a라는 변수에 JSS() 클래스를 할당했을 때 a.show()형태로 쓰겠다는 것임. 대신에 괄호안에는 아무것도 없는 것. 클래스를 선언할 때 쓴 self는 a에 해당하기 때문에 실제 a.show()를 쓸때는 괄호안이 비게됨. 마찬가지로 클래스를 선언한 a.name, a.age형태로 쓸 수 있음.
def __init__(self):
self.name = input(“이름을 입력하세요:”)
self.age = input(“나이를 입력하세요:”)
def show(self):
print(이름: {name}, 나이 :{age})