Python&Django로 시작하는 웹프로그래밍: 파이썬 인강-4주차

션이·2022년 1월 31일
1
post-thumbnail

4주차 진도 인증 사진!

이번 4주차의 중점: 클래스 실습 및 SQL 문법

  1. 클래스 실습 과정은, 지금까지 배웠던 문법을 사용해 여러 유닛을 생성하고 확인하는 과정이다.

예를들어, 유닛정보를 입력한다.

unit_mation = {
   "dog" {
   "name":"강아지",
   "mineral" : 40,
   "gas: : 9,
   "hp" : 20,
   "shield" :  30,
   "damage": 1
   }
    "cat" {
   "name":"야옹이",
   "mineral" : 30,
   "gas: : 5,
   "hp" : 2,
   "shield" :  9,
   "damage": 100
   }
}

다음, 클래스 유닛을 입력하고, 속성에 유닛리스트도 추가해준다.
그 다음, 생산을 해준다!

   def produce(self, name, mineral, gas, hp, shield, damage):
        if self.mineral - mineral < 0:
            print("미네랄이 없어요")
        elif self.gas - gas < 0:
            print("가스 실종!! ")
        else:
            self.mineral -= mineral
            self.gas -= gas
            unit = Unit(name, hp, shield, damage)
            self.unit_list.append(unit)
            print(f"[{name}]을 생산")

그 후, 유닛생성 및 유닛 확인을 해주면 된다.

for unit in player1.unit_list:
    print(f"[{unit.name}] 체력: {unit.hp}   방어: {unit.shield}  공격: {unit.damage} ")
  1. 상속의 문법은

ex : class Family :
"""
속성: 이름,
메서드: 보호, 집
"""

class son(family):
super()._init(name)
class daughtr(family):
super()._init(name)

을 사용하는 것이다.

sql lite 를 사용하면서 막혔던 점

sql lite를 통해 실습하던 도중, delete와 drop이 사용되지 않는 걸 알았다.

ALTER TABLE board DELETE COLUMN post_date
ALTER TABLE board drop COLUMN post_date

두 번 다 시도해본 결과, near "drop"syntax error 라는 말이 계속 떴다.

정말 당황해서 구글링도 열심히 해봤는데 결론은 "sql lite 3.35버전까지 지원이 안되는 명령어" 라고 한다..

해결 방법은 새로운 테이블을 만들고, 데이터를 옮기는 것인데 아직 초보인 나에게 조금 어렵기때문에, 터미널에서 시도했더니 됐다.
버전을 바꾸는 방법도 있지만 그건 선생님도 잘 모르신다고 했기때문에,

ALTER TABLE board DROP COLUMN content;
CREATE TABLE post(
id integer,
title text,
);

쿼리를 따로 실행하는 방법 밖에 없다.

profile
경험을 쌓고 나를 키우자! 백엔드에서 풀스택개발자가 되는 그 날까지..

0개의 댓글