분류 전체보기
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/bnhWML/btrulSe2dbp/dbC799uaDxO9lleXgagSrk/img.png)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 유닛 정보 unit_info = { "probe" : { "name" : "프로브", "mineral" : 50, "gas" : 0, "hp" : 20, "shield" : 20, "demage" : 5 }, "zealot" : { "name" : "질럿", "mineral" : 100, "gas" : 0, "hp" : 100, "shield" : 60, "demage" : 16 }, "dragon" : { "name" : "드라군", "mineral" : 125, "gas" : 50, "hp" : 100, "shield" : 80, "demage" : 20 } } # 유닛 클래스 class Unit: """ 속성 : 이름, 체력, 방어막, 공격력 """ def __init__(self, name, ..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/cxxXqX/btrujIqIKcz/BqNE0771qhpR7xMwsVByl1/img.png)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 상속이란 # 클래스들의 공통된 속성과 메서드를 뽑아내서 부모 클래스를 만든다. # 이를 자식 클래스에서 상속받아 사용한다. # 코드의 중복을 제거할 수 있다. # 유지보수가 편리해진다. class Item: """ 속성 : 이름 메서드 : 줍기, 버리기 """ def __init__(self, name): self.name = name def pick(self): print(f"[{self.name}]을(를) 주웠습니다.") def discard(self): print(f"[{self.name}]을(를) 버렸습니다.") class Weapon(Item): """ 속성 : 공격력 메서드 : 공격하기 """ def __init__(self, name, demage): super().__init__(nam..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/TrjIp/btruh6xrXl3/o3pqcAyPp7UKiUXwTW25NK/img.png)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
class Unit: """ 인스턴스 속성 : 이름, 체력, 방어막, 공격력 -> 객체마다 다른 값을 가지는 속성 클래스 속성 : 전체 유닛 개수 -> 모든 객체가 공유하는 속성 비공개 속성 -> 클래스안에서만 사용 가능한 속성 """ count = 0 # 매직 메서드 # 클래스 안에서 정의 할 수 있는 스페셜 메서드 # __이름__으로 구성 def __init__(self, name, hp, shield, damage): # 인스턴스 속성은 클래스 안에서 self.속성명 self.name = name # 비공개 속성은 클래스 안에서 self.__속성명 self.hp = hp self.shield = shield self.damage = damage # 클래스 속성은 객체명.속성명 Unit.count +..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/dr86CF/btrubuZjIWh/sTyqLAJYS5K7tx87hTxG0K/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 인스턴스 속성 # 객체마다 다르게 가지는 속성 # 클래스 안에서 사용시 -> self.속성명 # 클래스 밖에서 사용시 -> 객체명.속성명 # 클래스 속성 # 모든 객체가 공유하는 속성 # 생성자 밖에서 만든 뒤 사용 # 클래스명.속성명 # 비공개 속성 # 클래스 안에서만 접근 가능한 속성 # 클래스 안에서만 사용 -> self.__속성명 # 클래스 밖에서는 변경 불가능 class Unit: """ 인스턴스 속성 : 이름, 체력, 방어막, 공격력 -> 객체마다 다른 값을 가지는 속성 클래스 속성 : 전체 유닛 개수 -> 모든 객체가 공유하는 속성 비공개 속성 -> 클래스안에서만 사용 가능한 속성 """ count = 0 def __init__(self, name, hp, shield, damage): ..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/QKZ8z/btrt3faCd9S/Xj3Pw50FppsACVoq4QljO1/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 절차 지향 프로그래밍 # 기능들을 어떤 순서로 처리할 것 인가에 초점을 맞춤 # 규모가 작은 경우 # 객체 지향 프로그래밍 # 객체가 중심이 되고, 객체를 정의하고 객체간 상호작용에 초점을 맞춤 # 규모가 큰 경우 # 클래스 # 객체를 만들기 위한 설계도 # Unit 클래스 class Unit: """ 속성 : 이름, 체력, 방어막, 공격력 """ # 생성자 (constructor) # 객체를 생성할 때 호출되는 매서드 def __init__(self, name, hp, shield, damage): self.name = name # self는 객체 자신을 의미 self.hp = hp self.shield = shield self.damage = damage print(f"[{self.name}](이..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/ctezV2/btrtTNewn2m/H8Qs4JHjjDYcK9OBwrdFCK/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# map(함수, 순서가있는자료형) # 순서가 있는 자료형 -> 리스트[], 튜플(), 딕셔너리{} list(map(int, ['3', '4', '5', '6'])) # 1. 3, 4, 5, 6 문자 데이터를 int를 거쳐서 숫자형 데이터로 바꾼다. # 2. map 오브젝트로 만든다. (3,4,5,6) # 3. 사용하기 편한 list로 바꾼다. # 예시 # 리스트 모든 요소의 공백 제거 # for사용 items = [' 마우스', '마우스2 '] for i in range(len(items)): items[i] = items[i].strip() # map을 사용 def strip_all(x): return x.strip() items = [' 마우스', '마우스2 '] items = list(map(st..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/6LwTD/btrtLVW6iQV/t0RqYguqLkBatwDEyDp5NK/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 위치 매개변수 # 가장 기본적인 매개변수 # 함수를 호출할때 순서대로 데이터를 넘겨줘야 한다. # 다른 매개변수와 함께 쓸 때는 항상 맨 앞에 써야한다. def my_func(a, b): print(a, b) my_func(2, 3) # 기본 매개변수 # 매개변수의 기본적인 값 # 함수를 정의할 때 매개변수의 기본 값을 지정할 수 있다. def post_info(title, content='내용없음'): print('제목 : ', title) print('내용 : ', content) post_info('출석합니다!') # 키워드 매개변수 # 함수 호출 시에 키워드를 붙여 호출한다 # 매개변수의 순서를 지키지 않아도 된다. def post_info(title, content): print('제목 : ..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/bxQsmy/btrtH1YQxv8/YpBEENl2ij9FnJBEjcH3L0/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 위치 매개변수 # 가장 기본적인 매개변수 # 함수를 호출할때 순서대로 데이터를 넘겨줘야 한다. # 다른 매개변수와 함께 쓸 때는 항상 맨 앞에 써야한다. def my_func(a, b): print(a, b) my_func(2, 3) # 기본 매개변수 # 매개변수의 기본적인 값 # 함수를 정의할 때 매개변수의 기본 값을 지정할 수 있다. def post_info(title, content='내용없음'): print('제목 : ', title) print('내용 : ', content) post_info('출석합니다!') # 키워드 매개변수 # 함수 호출 시에 키워드를 붙여 호출한다 # 매개변수의 순서를 지키지 않아도 된다. def post_info(title, content): print('제목 : ..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/cAcFMu/btrtEwRHfzY/RmK2HoMFmDu5vawwwzSUKK/img.jpg)
![](https://tistory1.daumcdn.net/tistory/2940299/skin/images/no-image.jpg)
# 실습문제 # 시간을 분으로 바꾸기 time = input("시간을 입력하세요 >>> ") # 분으로만 입력 ex) 30분 # 시간만 입력 ex) 2시간 # 시간과 분으로 입력 ex) 1시간 30분 if time.find('시간') == -1: # find()의 결과값이 -1인 경우 = 결과값이 없을 경우 # 분으로만 입력 받은 경우 result = int(time.split('분')[0]) else: if time.find('분') == -1: # 시간만 있는 경우 result = int(time.split('시간')[0]) * 60 else: # 시간과 분이 있는 경우 sub = time.split('시간') result = int(sub[0]) * 60 + int(sub[1].split('분')[..