Cute Running Puppy

Python

Python_14Day

jwjin 2019. 3. 5. 21:26
728x90

# 가변인자 , 클래스

가변인자란 인자가 몇 개가 들어오던 간에 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개를 생성한다음 각각 이름과 종목 , 금/은/동 메달 을 추가를 해줍니다.

출력을 위와 똑같습니다.














728x90

'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