Python/Python기초 42

Python 메서드,상속,오버라이딩

메서드를 클래스안에 정의해주고 위 코드처럼 firebat을 AttackUnit으로 생성해주고 firebat.attack과 같이 메서드를 써주면 된다. Unit클래스를 만들고 Unit 클래스와 AttackUnit클래스랑 겹치는 부분을 Unit클래스로 상속받아서 사용하려고 한다. AttackUnit(Unit)으로 상속을 해주고 Unit.__init__을 사용해서 (self, name, hp)를 넣어주면 AttackUnit이 Unit을 상속 받을 수 있다. Flyable 클래스를 생성해주고 FlyableAttackUnit 클래스 안에 AttackUnit, Flyable안에 다중 상속을 했다. 상속받은 클래스는 항상 self를 써주어야 한다. FlyableAttackUnit은 AttackUnit을 상속받았고 A..

Python/Python기초 2021.08.18

Python 클래스

클래스는 붕어빵의 틀과 같다. 틀 하나만 있으면 무한대로 붕어빵을 찍어낼 수 있는 원리와 같다. 다음 스타크래프트를 예로들면 유닛 하나하나 만들때마다 체력,이름,데미지의 변수를 선언해 줘야 한다. 클래스를 사용하면 변수명만 바꿔서 사용할 수 있다. __init__ 이 부분은 파이썬에서 쓰이는 생성자이다. 자동으로 호출되는 부분이다. 위 사진처럼 wraith1.clocking을 쓰면 class에 없기 때문에 에러가 뜬다. wraith2.clokcing을 쓰면 잘 뜬다.

Python/Python기초 2021.08.18

Python pickle

프로그램 상에서 사용하고 있는 데이터를 파일형태로 저장해주는 것이다. 리스트나 클래스같은 텍스트가 아닌 자료형은 일반적인 파일 입출력 방법으로는 데이터를 저장하거나 불러올 수 없다. 파이썬에서는 이와 같은 텍스트 이외의 자료형을 파일로 젖아하기 위하여 pickle이라는 모듈을 제공한다. pickle뒤에는 쓰기타입+b(바이너리)를 써줘야 한다. .dump를 이용해서 (x,y) y에 x를 저장한다. 읽기 위해선 load를 사용하면 된다. with를 쓰면 code를 줄일 수 있다. with로직은 외워두자 일반 파일을 쓰고 읽을 때도 사용할 수 있다.

Python/Python기초 2021.08.17

Python 파일 입출력

파일을 만들땐 open(x, y) x는 파일명, y는 전용이다. encoding은 항상 utf8로 지정해놓아야 한글이 에러를 안먹는다. 파일을 열었을 땐 항상 파일을 close()함수로 닫아 주어야 한다. "w"는 쓰기전용이라는 의미이다. 계속 쓰면 덮어쓰기가 된다. "a"는 뒤에 이어쓰기라는 의미이다. "r"은 읽기전용이라는 의미이다. write함수는 줄바꿈이 자동으로 안돼서 임의로 줄 바꿈을 해주는게 좋다. a를 이용해 덮어쓰지 않고 이어쓰기가 됐다. 한 번에 읽으려면 read함수를 이용하면 되고 하나씩 읽으려면 readline()함수를 사용하면 된다. 내용의 길이가 길면 while문이나 for문 반복문으로 하나씩 읽어낼 수 있다. readlines() 함수를 이용하면 list형태로 저장이 가능하다.

Python/Python기초 2021.08.12

Python 표준입출력

print 구문에 sep를 쓰면 각 , 사이사이에 sep구문을 넣을 수 있다. end를 쓰면 줄 바뀜이 되지 않는다. (한줄에 나옴) 원래 end에 줄바꿈이 들어가있는데 다른걸 넣어줌으로써 줄바꿈이 안된다. stdout은 표준 입출력이고 stderr은 표준 에러출력이다. for 문에서 items의 키는 subject에 들어가고 값은 score에 들어간다. ljust(x) 는 x자리만큼 차지하고 왼쪽정렬 rjust(x)는 x만큼 자리를 갖고 오른쪽정렬이다. zfill(x)는 x자리만큼 남는자리를 0으로 채워준다. 위 코드처럼 input으로 출력된 값은 항상 str type이다.

Python/Python기초 2021.08.12

Python 지역변수 전역변수

지역변수: 함수내에서만 쓸 수 있는것 함수가 호출될 때만 생성되는것 전역변수: 프로그램 내에서 어디서든 쓸 수 있는 변수 위 코드처럼 실행하면 함수안에 있는 gun변수가 초기화가 안되었다고 에러가 나온다. global 변수 를 사용하면 전역공간에 있는 변수를 사용하겠다는 뜻이다. 일반적으로 전역변수를 많이쓰면 코드관리가 힘들어진다. 같은 결과지만 지역변수를 활용해보았다. 지역변수를 잘 활용하면 코드관리가 수월해 질 수 있다.

Python/Python기초 2021.08.12