Python 70

[ Python ] 다중 상속.

# 다중 상속 : 부모 클래스를 여러개 상속 받는. # 일반 유닛 class Unit: def __init__(self, name, hp): self.name = name self.hp = hp # 상속받을 때 '클래스명(상속받을 클래스명)' # 공격 유닛 class AttackUnit(Unit): def __init__(self, name, hp, damage): Unit.__init__(self, name, hp) # 부모에게 값을 넘겨주어 초기화하는 작업. self.damage = damage def attack(self, location): print("{0} : {1} 방향으로 적군을 공격 합니다. [공격력 : {2}]".format( self.name, location, self..

Python 2021.03.07

[ Python ] 상속

# 상속 # 일반 유닛 class Unit: def __init__(self, name, hp): self.name = name self.hp = hp # 상속받을 때 '클래스명(상속받을 클래스명)' # 공격 유닛 class AttackUnit(Unit): def __init__(self, name, hp, damage): Unit.__init__(self, name, hp) # 부모에게 값을 넘겨주어 초기화하는 작업. self.damage = damage def attack(self, location): print("{0} : {1} 방향으로 적군을 공격 합니다. [공격력 : {2}]".format( self.name, location, self.damage )) def damaged(s..

Python 2021.03.07

[ Python ] 메소드

# 메소드 class Unit: def __init__(self, name, hp, damage): self.name = name self.hp = hp self.damage = damage print("{0} 유닛이 생성 되었습니다.".format(self.name)) print("체력 {0}, 공격력 {1}".format(self.hp, self.damage)) # 공격 유닛 class AttackUnit: def __init__(self, name, hp, damage): self.name = name self.hp = hp self.damage = damage def attack(self, location): print("{0} : {1} 방향으로 적군을 공격 합니다. [공격력 : {2}]".fo..

Python 2021.03.07

[ Python ] 멤버 변수

클래스 외부에서 원하는 변수 확장 확장된 변수는 확장한 객체에 대해서만 적용되고 다른 객체에 대해서는 적용되지 않는다. # 클래스 만들기 # __init__ : Python에서 사용되는 생성자 # marine이나 tank 같은 객체가 만들어질 때 자동으로 호출되는 부분. # 객체 : 클래스에 의해 만들어진. # marine, tank는 Unit 클래스의 '인스턴스'라고 한다. # 멤버 변수 : 클래스 내에서 정의된 변수(self.name/self.hp/self.damage) # ------------ 클래스 생성 시작 -------------- class Unit: def __init__(self, name, hp, damage): self.name = name self.hp = hp se..

Python 2021.03.07

[ Python ] 클래스 생성자 선언

# 클래스 만들기 # __init__ : Python에서 사용되는 생성자 # marine이나 tank 같은 객체가 만들어질 때 자동으로 호출되는 부분. # 객체 : 클래스에 의해 만들어진. # marine, tank는 Unit 클래스의 '인스턴스'라고 한다. # ------------ 클래스 생성 시작 -------------- class Unit: def __init__(self, name, hp, damage): self.name = name self.hp = hp self.damage = damage print("{0} 유닛이 생성 되었습니다.".format(self.name)) print("체력 {0}, 공격력 {1}".format(self.hp, self.damage)) # ---..

Python 2021.03.07

[ Python ] 클래스 만들기

# 클래스 만들기 # ------------ 클래스 생성 시작 -------------- class Unit: def __init__(self, name, hp, damage): self.name = name self.hp = hp self.damage = damage print("{0} 유닛이 생성 되었습니다.".format(self.name)) print("체력 {0}, 공격력 {1}".format(self.hp, self.damage)) # ------------ 클래스 생성 끝 -------------- marine1 = Unit("마린", 40, 5) marine2 = Unit("마린", 40, 5) tank = Unit("탱크", 150, 35)

Python 2021.03.07

[ Python ] 클래스 시작하기.

# 클래스 # 스타크래프트 게임 예시 # 마린 : 공격 유닛, 군인. 총을 쏠 수 있음 name = "마린" # 유닛의 이름 hp = 40 # 유닛의 체력 damage = 5 # 유닛의 공격력 print("{0} 유닛이 생성되었습니다.".format(name)) print("체력 {0}, 공격력 {1}\n".format(hp, damage)) # 탱크 : 공격 유닛, 탱크. 포를 쏠 수 있는데, 일반 모드 / 시즈 모드 tank_name = "탱크" tank_hp = 150 tank_damage = 35 print("{0} 유닛이 생성되었습니다.".format(tank_name)) print("체력 {0}, 공격력 {1}\n".format(tank_hp, tank_damage)) tank2_name = ..

Python 2021.03.07

[ Python ] 1주차부터 5주차까지의 보고서 파일을 만드는 프로그램을 작성하시오.

# Quiz) 당신의 회사에서는 매주 1회 작성해야 하는 보고서가 있습니다. # 보고서는 항상 아래와 같은 형태로 출력되어야 합니다. # - X 주차 주간보고 - # 부서 : # 이름 : # 업무 요약 : # 1주차부터 5주차까지의 보고서 파일을 만드는 프로그램을 작성하시오. # 조건 : 파일명은 '1주차.txt', '2주차.txt', ...와 같이 만듭니다. # ------------------ 풀이 시작 ------------------# for i in range(1, 6): with open(str(i) + "주차.txt", "w", encoding="utf8") as report_file: report_file.write("- {0} 주차 주간보고 -".format(..

Python 2021.03.07

[ Python ] with로 더 수월하게 파일 쓰고, 불러오기

# with : 파일 쓰기, 읽기를 조금 더 수월하게 할 수 있는 # pickle, with를 사용해서 파일 불러오기 # ----------- 방법 1 시작 ------------- import pickle # with로 파일을 읽어온다. # as profile_file : 파일을 열어서 profile_file이라는 변수에 저장. with open("profile.pickle", "rb") as profile_file: print(pickle.load(profile_file)) # 출력 : {'이름': '박명수', '나이': 30, '취미': ['축구', '골프', '코딩']} # with 문을 수행하고 ..

Python 2021.03.07

[ Python ] pickle 라이브러리(파일을 바이너리 형태로 쓰고, 불러오기)

# pickle : 프로그램 상에서 우리가 사용하고 있는 데이터를 파일 형태로 저장해주는. # 파일을 누군가에게 주면 그 분이 파일을 열어서 pickle 이용해서 데이터를 가지고 와서 # 코드에서 또 사용할 수 있는. # pickle을 사용하려면 import 해야 한다. # 우선 pickle 이라는 module을 import # pickle을 이용해서 파일을 쓰고, 불러올 수 있는 유용한 라이브러리. import pickle # ----------------- pickle 파일 작성 시작 ------------------ # 일단 파일에다가 저장을 할 것이다. # 파일 타입은 pickle이고, "write" 목적이며 b를 붙여준다. # b : 바이너리 의미. # pickle을 사용하려면 꼭 바이너리 타입..

Python 2021.03.07

[ Python ] 파일 입출력(읽기)

# 파일 입출력(읽기) # "r" : Read # read() : 파일의 모든 내용을 읽어온다. # 읽기 또한 파일을 close() 해준다. # ---------- 방법 1 시작 --------- score_file = open("score.txt", "r", encoding="utf8") print(score_file.read()) score_file.close() # ---------- 방법 1 끝 --------- # 파일의 모든 내용이 아닌 # '한줄 한줄' 읽어와서 무언가를 처리하고 싶을 때 # 파일은 역시 open()하고 close()해준다. # 줄바꿈 안하고 공백으로 출력하고 싶다면 end="" 사용 # -------- 방법 2 시작 --------- score_file = o..

Python 2021.03.07

[ Python ] 파일 입출력 (쓰기)

# 파일 입출력 # "w" : 파일을 write 쓰기 용도로 열기 # 이미 존재하는 파일에 "w"로 open하면 덮어쓰기가 된다. # encoding="utf8" 을 입력하지 않으면 한글이 깨질 수 있다. # open() 파일을 열어주면 필히 close()로 파일을 닫아주어야 한다. # --------- 방법1 시작------------ # score_file = open("score.txt", "w", encoding="utf8") # print("수학 : 0", file=score_file) # print("영어 : 40", file=score_file) # score_file.close() # --------- 방법1 끝------------ # "a" : 파일을 덮어쓰지 않고 이어서 쓰고 싶을 때..

Python 2021.03.07

[ Python ] 다양한 출력 포맷(빈 자리 빈 공간, 오른쪽 정렬, 총 10자리 확보, 3자리 마다 콤마, ^으로 빈칸 채우기, 소수점 둘째 자리까지 출력,

# 다양한 출력 포맷 # 빈 자리는 빈공간으로 두고, 오른쪽 정렬을 하되, 총 10자리 공간을 확보 print("{0: >10}".format(500)) # 양수일 땐 +로 표시, 음수일 땐 -로 표시 print("{0: >+10}".format(500)) print("{0: >+10}".format(-500)) print("{0: >10}".format(-500)) # 부호가 없는 경우에도 -500이 출려되지만 양수일 경우, +는 표시가 되지 않는다. # 왼쪽 정렬하고, 빈칸으로 _로 채움 print("{0:_

Python 2021.03.07

[ Python ] 표준 입출력(sep,end, sys.stdout, sys.stderr, ljust(), rjust(), zfill(), input(), type()

# 표준 입출력 # sep="" 활용법 print("Java", "Python", "JavaScript", sep=" VS ") # end=" " // 줄바꿈 되지 않고 이어서 출력된다. print("안녕하세요. 저는", end=" ") print("홍길동 입니다.") print("Java", "Python", sep=", ", end="? ") print("무엇이 더 재미있을까요?") import sys print("Python", "Java", file=sys.stdout) # 표준 출력 print("Python", "Java", file=sys.stderr) # error log를 남기기 위함 # 시험 성적 # ljust(칸 수) : 왼쪽 정렬 # rjust(칸 수) : 오른쪽 정렬 # ljust(..

Python 2021.03.07

[ Python ] Quiz 6. 표준 체중을 구하는 프로그램을 작성하시오.

Quiz) 표준 체중을 구하는 프로그램을 작성하시오. # Quiz) 표준 체중을 구하는 프로그램을 작성하시오. # * 표준 체중 : 각 개인의 키에 적당한 체중 # (성별에 따른 공식) # 남자 : 키(m) x 키(m) x 22 # 여자 : 키(m) x 키(m) x 21 # 조건1 : 표준 체중은 별도의 함수 내에서 계산 # * 함수명 : std_weight # * 전달값 : 키(height), 성별(gender) # 조건2 : 표준 체중은 소수점 둘째자리까지 표시 # (출력 예제) # 키 175cm 남자의 표준 체중은 67.38kg 입니다. # ----------------- 풀이 과정 시작 ----------------- def std_weight(height, gender): if gender ==..

Python 2021.03.06

[ Python ] 전역변수와 지역변수

지역변수와 전역변수 # 지역변수 : 함수 내에서만 사용 가능. # 함수 호출되면 만들어졌다가 함수 호출이 끝나면 사라지는 변수. # 전역변수 : 프로그램 모든 공간 어디에서든 불러서 사용할 수 있는 변수. # 예시 : 군대 gun = 10 def checkPoint(soldiers): global gun # 전역 공간에 있는 gun 사용 gun = gun - soldiers print("[함수 내] 남은 총 : {0}".format(gun)) # 일반적으로 전역 변수를 사용하면 코드 관리가 어려워서 권장하진 않는다. (global gun) # 가급적 함수의 전달 값으로 던져서 반환값을 받아서 사용한다. def checkPoint_ret(gun, soldiers): gun = gun - soldiers p..

Python 2021.03.06

[ Python ] 가변 인자 사용법. (*language)

'가변 인자'를 이용한 함수 호출 # 끝에 end=" " 이렇게 입력해주면 다음 출력이 줄바꿈 되지 않고 이어서 출력된다. # 방법1 # def profile(name, age, lang1, lang2, lang3, lang4, lang5): # print("이름 : {0}\t나이 : {1}\t".format(name, age), end=" ") # print(lang1, lang2, lang3, lang4, lang5) # lang1,2,3,4,5 -> *language 로 수정 def profile(name, age, *language): # 가변 인자 print("이름 : {0}\t나이 : {1}\t".format(name, age), end=" ") for lang in langua..

Python 2021.03.06

[ Python ] 함수 매개변수의 기본값(default) 설정

기본값 # 코드 줄바꿈을 할 때는 \ 입력하고 enter해서 이어서 쓰면 된다. # -------- 아래 코드를 실행하기 위한 주석처리 --------- # def profile(name, age, main_lang): # print("이름 : {0}\t나이 : {1}\t주 사용 언어 : {2}" \ # .format(name, age, main_lang)) # profile("유재석", 30, "파이썬") # profile("김태호", 20, "자바") # 같은 나이라면 나이, 주 언어(수업)를 하나하나 입력해줄 필요가 없다. # 같은 학교 같은 학년 같은 반 같은 수업. # 기본값 : 위와 같은 경우에 사용하는 것이 기본값. def profile(name, age=17, main_lang="파이썬")..

Python 2021.03.06

[ Python ] 전달값과 반환값(매개변수, return)

전달값과 반환값 # 함수 정의 def deposit(balance, money): print("입금이 완료되었습니다. 잔액은 {0} 원입니다.".format(balance + money)) return balance + money def withDraw(balance, money): if balance >= money: print("출금이 완료되었습니다. 잔액은 {0} 원입니다.".format(balance - money)) return balance - money else: print("출금이 완료되지 않았습니다. 잔액은 {0} 원입니다.".format(balance)) return balance def withDraw_night(balance, money): # 출금액이 잔액보다 크다는 가정은 일단 ..

Python 2021.03.06
728x90
반응형
LIST