# 가변인자 , 클래스
가변인자란 인자가 몇 개가 들어오던 간에 args라는 변수로 관리하겠다는 뜻입니다. 이때 가변인자를 표현할 때에는 앞에 별을 붙여줍니다.
형식 = def 이름(*args) :
클래스
형식은 이러합니다.
class 이름() :
클래스를 이용하여 인스턴스(객체) 를 생성합니다.
생성한 객체에 데이터를 추가하여 출력하게 할 수 있습니다.
class Monster():
pass
# 클래스를 이용하여 인스턴스 (객체) 생성
a = Monster()
# a 몬스터에 이름(name)과 레벨(level)을 추가
a.name = '슬라임'
a.level = 10
print(f'이름 = {a.name} , 레벨 = {a.level}')
예를 들어 a를 monster라는 객체를 생성하고 name을 슬라임(추가할때는 점을 붙입니다) , level은 10이라 추가합니다.
그리고 이것을 출력할 때에도 a.name 과 a.level이라 쓰고 출력하게 되면
이름 = 슬라임 , 레벨 = 10
이렇게 나옵니다.
<선수정보>
이름 : 김연아 , 종목 : 피겨스케이팅 , 금메달 : 6 , 은메달 : 3 , 동메달 : 0
이름 : 손흥민 , 종목 : 축구 . 금메달 : 1 , 은메달 : 0 , 동메달 : 1
이름 : 이상화 , 종목 : 스피드스케이팅 , 금메달 : 3 , 은메달 : 2 , 동메달 : 4
class athlete():
pass
# 플레이어의 인스턴스 3개를 생성
kim = athlete()
son = athlete()
lee = athlete()
kim.name = '김연아' # == kim.name , kim.event , kin.gold , kim.silver , kim.bronze = '김연아' , '피겨스케이팅' , 6 ,3 , 0
kim.event = '피겨스케이팅'
kim.gold = 6
kim.silver = 3
kim.bronze = 0
son.name = '손흥민'
son.event = '축구'
son.gold = 1
son.silver = 0
son.bronze = 1
lee.name = '이상화'
lee.event = '스피드스케이팅'
lee.gold = 3
lee.silver = 2
lee.bronze = 4
# 정보 출력
print(f'이름 : {kim.name} , 종목 : {kim.event} , 금메달 : {kim.gold} , 은메달 : {kim.silver} , 동메달{kim.bronze}')
print(f'이름 : {son.name} , 종목 : {son.event} , 금메달 : {son.gold} , 은메달 : {son.silver} , 동메달{son.bronze}')
print(f'이름 : {lee.name} , 종목 : {lee.event} , 금메달 : {lee.gold} , 은메달 : {lee.silver} , 동메달{lee.bronze}')
클래스를 이용하여 문제와 같이 표현하는 방법입니다.
우선 인스턴스(객체)를 3개를 생성한다음 각각 이름과 종목 , 금/은/동 메달 을 추가를 해줍니다.
출력을 위와 똑같습니다.
'Python' 카테고리의 다른 글
| Python_16Day (0) | 2019.03.07 |
|---|---|
| Python_15Day (0) | 2019.03.06 |
| Python_13Day (0) | 2019.03.04 |
| Python_12Day (0) | 2019.02.28 |
| Python_11Day (0) | 2019.02.27 |