[파이썬] 기초
2023. 9. 2. 10:32ㆍ기타(이론)/컴퓨터학과 이론
스스로 얻은 내용
# 아래의 리스트처럼 숫자가 들어있는 문자열 형태로 되어있는 배열을 sort()를 사용해 숫자기준 오름차순으로 정렬하는 방법
original_list = ['5', '2', '9', '1', '-5', '10']
# 숫자 기준으로 오름차순으로 정렬
original_list.sort(key=int)
# 결과 출력
print(original_list)
# 소문자로 변환
my_string=my_string.lower()
# 문자열을 리스트로 자료형 변환
my_string=list(my_string)
# sort()를 활용해 정렬
my_string.sort()
# 리스트를 문자열로 자료형 변환, 앞의 ' '에는 사이에 들어갈 문자를 넣기
answer = ''.join(s for s in my_string)
숫자 자료형
print(5)
print(-10)
print(3.14)
print(1000)
print(5+3)
print(2*8)
print(3*(3+1))
결과
5 -10 3.14 1000 8 16 12
문자열 자료형
print('풍선')
print("나비")
print("ㅋㅋㅋㅋㅋㅋㅋㅋㅋ")
print("ㅋ"*9)
결과
풍선 나비 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
boolean 자료형
# 참 / 거짓
print(5 > 10)
print(5 < 10)
print(True)
print(False)
print(not True)
print(not False)
print(not (5 > 10))
결과
False True True False False True True
변수
# 반려동물을 소개해 주세요~
animal = "판다"
name = "푸바오"
age = 3
hobby = "죽순"
is_adult = age >= 3
print("우리집 "+ animal + "의 이름은 " + name + "예요")
print(name + "는 "+ str(age) + "살이며, " + hobby + "을 아주 좋아해요") #str(age) 정수형을 문자형으로 바꿔줌
print(name + "는 어른일까요? "+ str(is_adult))
결과
우리집 판다의 이름은 푸바오예요 푸바오는 3살이며, 죽순을 아주 좋아해요 푸바오는 어른일까요? True
# 반려동물을 소개해 주세요~
animal = "비둘기"
name = "둘기"
age = 1
hobby = "간식"
is_adult = age >= 3
print("우리집 "+ animal + "의 이름은 " + name + "예요")
print(name, "는 ", age , "살이며, " , hobby , "을 아주 좋아해요") #콤마가 들어가면 띄어쓰기 포함
print(name + "는 어른일까요? "+ str(is_adult))
결과
우리집 비둘기의 이름은 둘기예요 둘기 는 1 살이며, 간식 을 아주 좋 아해요 둘기는 어른일까요? False
연산자
print(1+1) #2
print(3-2) #1
print(5*2) #10
print(6/3) #2.0
print(2**3) #2^3 = 8
print(5%3) # 나머지 구하기 2
print(10%3) # 1
print(5//3) # 5를 3으로 나눴을 때의 몫 = 1
print(10//3) # 3
print(10 > 3) # True
print(4 >= 7) # False
print(10 < 3) # False
print(5 <= 5) # True
print(3 == 3) # True
print(4 == 2) # False
print(3 + 4 == 7) # True
print(1 != 3) # True
print(not(1 != 3)) #False
print((3 > 0) and (3 < 5)) # True
print((3 > 0) & (3 < 5)) # True
print((3 > 0) or (3 < 5)) # True
print((3 > 0) | (3 < 5)) # True
print(5 > 4 > 3) # True
print(5 > 4 > 7) # False
간단한 수식
print(2 + 3 * 4) # 14
print((2 + 3) * 4) # 20
number = 2 + 3 * 4
number = number + 2
number *= 2
number /= 2
number %= 5
print(number) // 1.0
숫자처리함수
print(abs(-5)) # 절댓값 = 5
print(pow(4, 2)) # 4^2 = 16
print(max(5, 12)) # 12
print(min(5, 12)) # 5
print(round(3.14)) # 반올림 = 3
print(round(4.99)) # 5
from math import *
print(floor(4.99)) # 내림 = 4
print(ceil(3.14)) # 올림 = 4
print(sqrt(16)) # 제곱근 = 4
랜덤함수
from random import *
print(random()) # 0.0 ~ 1.0 미만의 임의의 값 생성
print(random() * 10) # 0.0 ~ 10.0 미만의 임의의 값 생성
print(int(random() * 10)) # 0 ~ 10 미만의 임의의 값 생성
print(int(random() * 10) + 1) # 0 ~ 10 이하의 임의의 값 생성
print(randrange(1, 46)) # 1 ~ 46 미만의 임의의 값 생성
print(randint(1, 45)) # 1 ~ 45 이하의 임의의 값 생성
문자열
sentence = '나는 사람입니다'
print(sentence)
sentence2 = "파이썬은 쉬워요"
print(sentence2)
sentence3 = """
나는 사람이고,
파이썬은 쉬워요
"""
print(sentence3)
결과
나는 사람입니다
파이썬은 쉬워요
나는 사람이고,
파이썬은 쉬워요
슬라이싱
jumin = "990120-1234567"
print("성별 : " + jumin[7])
print("연 : " + jumin[0:2]) # 0 부터 2 직전까지 (0, 1)
print("생년월일 : " + jumin[:6]) # 처음부터 6 직전까지
print("뒤 7자리 : " + jumin[7:]) # 7 부터 끝까지
print("뒤 7자리 (뒤에부터): " + jumin[-7:]) # 맨 뒤에서 7번째부터 끝까지
결과
성별 : 1 연 : 99 생년월일 : 990120 뒤 7자리 : 1234567 뒤 7자리 (뒤에부터): 1234567
문자열처리함수
python = "Python is Amazing"
print(python.lower()) # python is amazing 소문자로
print(python.upper()) # PYTHON IS AMAZING 대문자로
print(python[0].isupper()) # True
print(len(python)) # 17
print(python.replace("Python", "Java")) # Java is Amazing
index = python.index("n")
print(index) # 5
index = python.index("n", index + 1) # 두번째 n을 찾아라
print(index) # 15
print(python.find("Java")) # 원하는 값이 없을 때에는 -1 반환
#print(python.index("Java")) # 원하는 값이 없을 때에는 오류를 내며 종료
print("hi")
print(python.count("n")) # 2
문자열포멧
print("a" + "b")
print("a", "b")
# 방법 1
print("나는 %d살입니다." % 20)
print("나는 %s을 좋아해요." % "파이썬")
print("Apple 은 %c로 시작해요." % "A")
# %s
print("나는 %s살입니다." % 20)
print("나는 %s색과 %s색을 좋아해요." % ("파란", "빨간"))
# 방법 2
print("나는 {}살 입니다.".format(20))
print("나는 {}색과 {}색을 좋아해요".format("파란", "빨간"))
print("나는 {0}색과 {1}색을 좋아해요.".format("파란", "빨간"))
print("나는 {1}색과 {0}색을 좋아해요.".format("파란", "빨간"))
# 방법 3
print("나는 {age}살이며, {color}색을 좋아해요.".format(age = 20, color = "빨간"))
print("나는 {age}살이며, {color}색을 좋아해요.".format(color = "빨간", age = 20))
# 방법 4
age = 20
color = "빨간"
print(f"나는 {age}살이며, {color}색을 좋아해요.")
탈출문자
# print("백문이 불여일견\n백견이 불여일타")
# # \' \" : 문장 내에서 따옴표
# # 저는 "kyungeune"입니다.
# print("저는 \"kyungeune\"입니다.")
# print('저는 "kyungeune"입니다.')
# print("저는 'kyungeune'입니다.")
# # \\ : 문장 내에서 \
# print("C:\\kyungeune\\PythonWorkspace")
# \r : 커서를 맨 앞으로 이동
print("Red Apple\rPine") # PineApple
# \b : 백스페이스 (한 글자 삭제)
print("Redd\bApple") # RedApple
# \t : 탭
print("Red\tApple") # Red Apple
더보기
QUIZ
# 내 풀이
site = url[7:len(url)-4]
print(site[0:3] + str(len(site)) + str(site.count("e")) +"!")
# 유튜브 풀이
my_str = url.replace("http://", "")
my_str = my_str[:my_str.index(".")] # 처음부터 . 직전까지
password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) + "!"
print("{1}의 비밀번호는 {0} 입니다.".format(password, url))
리스트
# 리스트 []
subway = ["유재석", "조세호", "박명수"]
print(subway)
# 조세호씨가 몇 번째 칸에 타고 있는가
print(subway.index("조세호"))
# 하하씨가 다음 정류장에서 다음 칸에 탐
subway.append("하하")
print(subway)
# 정형돈씨를 유재석 / 조세호 사이에 태워봄
subway.insert(1, "정형돈")
print(subway)
# 지하철에 있는 사람을 한 명씩 뒤에서 꺼냄
print(subway.pop())
print(subway)
print(subway.pop())
print(subway)
print(subway.pop())
print(subway)
# 같은 이름의 사람이 몇 명 있는지 확인
subway.append("유재석")
print(subway)
print(subway.count("유재석"))
# 정렬도 가능
num_list = [5,2,4,3,1]
num_list.sort() # 오름차순 정렬
print(num_list)
# 순서 뒤집기 가능
num_list.reverse()
print(num_list)
# 모두 지우기
num_list.clear()
print(num_list)
# 다양한 자료형 함께 사용
mix_list = ["조세호", 20, True]
print(mix_list)
# 리스트 확장
num_list.extend(mix_list)
print(num_list)
사전
cabinet = {3:"유재석", 100:"김태호"} # 열쇠(key)가 3이고 유재석이 사용중
print(cabinet[3])
print(cabinet[100])
print(cabinet.get(3))
print(cabinet[5]) # 오류내면서 종료
print(cabinet.get(5)) # None 출력
print(cabinet.get(5, "사용 가능")) # None 대신 출력할 것 작성
print("hi")
print(3 in cabinet) # True
print(5 in cabinet) # False
cabinet = {"A-3":"유재석", "B-100":"김태호"}
print(cabinet["A-3"])
print(cabinet["B-100"])
# 새 손님
print(cabinet)
cabinet["A-3"] = "김종국"
cabinet["C-20"] = "조세호" # key를 만들고 값을 넣겠다
print(cabinet)
# 간 손님
del cabinet["A-3"]
print(cabinet)
# key 들만 출력
print(cabinet.keys()) # dict_keys(['A-3', 'B-100'])
# value 들만 출력
print(cabinet.values()) # dict_values(['유재석', '김태호'])
# key, value 쌍으로 출력
print(cabinet.items()) # dict_items([('A-3', '유재석'), ('B-100', '김태호')])
# 목욕탕 폐점
cabinet.clear()
print(cabinet) # {}
튜플
# 튜플 : list와 다르게 변경, 추가 불가능
menu = ("돈까스", "치즈까스")
print(menu[0])
print(menu[1])
# name = "김종국"
# age = 20
# hobby = "코딩"
# print(name, age, hobby)
(name, age, hobby) = ("김종국", 20, "코딩")
print(name, age, hobby)
집합(set)
# 집합 (set)
# 중복 안 됨, 순서 없음
my_set = {1,2,3,3,3}
print(my_set)
java = {"유재석", "김태호", "양세형"}
python = set(["유재석", "박명수"])
# 교집합 (java 와 python 을 모두 할 수 있는 개발자)
print(java & python) # {'유재석'}
print(java.intersection(python))
# 합집합 (java 할 수 있거나 python 할 수 있는 개발자)
print(java | python)
print(java.union(python))
# 차집합 (java 할 수 있지만 python 은 할 줄 모르는 개발자)
print(java - python)
print(java.difference(python))
# python 할 줄 아는 사람이 늘어남
python.add("정준하")
print(python)
java.remove("김태호")
print(java)
자료구조의 변경
menu = {"커피", "우유", "주스"}
print(menu, type(menu))
menu = list(menu)
print(menu, type(menu)) # ['우유', '커피', '주스'] <class 'list'>
menu = tuple(menu)
print(menu, type(menu)) # ('커피', '우유', '주스') <class 'tuple'>
menu = set(menu)
print(menu, type(menu)) # {'주스', '우유', '커피'} <class 'set'>
if문
weather = input("오늘 날씨는 어때요?")
if weather == "비" or weather == "눈":
print("우산을 챙기세요")
elif weather == "미세먼지":
print("마스크를 챙기세요")
else:
print("준비물 필요 없어요.")
temp = int(input("기온은 어때요?"))
if 30 <= temp:
print("너무 더워요. 나가지 마세요.")
elif 10 <= temp and temp < 30:
print("괜찮은 날씨예요")
elif 0 <= temp < 10:
print("외투를 챙기세요")
else:
print("너무 추워요. 나가지 마세요.")
for문
# randrange()
for waiting_no in range(1, 6): # 1, 2, 3, 4, 5
print("대기번호 : {0}".format(waiting_no))
starbucks = ["아이언맨", "토르", "그루트"]
for customer in starbucks:
print("{0}, 커피가 준비되었습니다.".format(customer))
while문
customer = "토르"
index = 5
while index >= 1:
print("{0}, 커피가 준비되었습니다. {1} 번 남았어요.".format(customer, index))
index -= 1;
if(index == 0):
print("커피는 폐기처분 되었습니다.")
customer = "아이언맨"
while True:
print("{0}, 커피가 준비되었습니다.".format(customer))
# ctrl + c : 강제종료
customer = "토르"
person = "Unknown"
while person != customer:
print("{0}, 커피가 준비 되었습니다.".format(customer))
person = input("이름이 어떻게 되세요?")
continue와 break
absent = [2, 5]
no_book = [7]
for student in range(1, 11): # 1 ~ 10
if student in absent:
continue
elif student in no_book:
print("오늘 수업 여기까지. {0}는 교무실로 따라와".format(no_book))
break
print("{0}, 책을 읽어봐".format(student))
한 줄 for문
students = [1,2,3,4,5]
print(students)
students = [i+100 for i in students]
print(students)
students = ["Iron man", "Thor", "I am groot"]
students = [len(i) for i in students]
print(students)
students = ["Iron man", "Thor", "I am groot"]
students = [i.upper() for i in students]
print(students)
더보기
from random import *
cnt = 0 # 총 탑승 승객 수
for i in range(1, 51):
time = randrange(5, 51) # 5~50분 소요시간
if 5 <= time <= 15:
print("[O] {0}번째 손님 (소요시간 : {1}분)".format(i, time))
cnt+=1
else:
print("[ ] {0}번째 손님 (소요시간 : {1}분)".format(i, time))
print("총 탑승 승객 : {0} 분".format(cnt))
for문 추가
for j in range(14, i, -1):
# i 값부터 14까지 거꾸로 반복하라
함수
def open_account():
print("새로운 계좌가 생성되었습니다.")
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): # 저녁에 출금
commission = 100 # 수수료 100원
return commission, balance - money - commission
balance = 0
balance = deposit(balance, 1000)
# balance = withdraw(balance, 500)
commission, balance = withdraw_night(balance, 500)
print("수수료 {0} 원이며, 잔액은 {1} 원 입니다.".format(commission, balance))
기본값
# def profile(name, age, main_lang):
# print("이름 : {0}\t나이 : {1}\t주 사용 언어: {2}"\
# .format(name,age,main_lang))
# profile("유재석",20,"파이썬")
# profile("조세호",25,"자바")
# 같은 학교, 학년, 반, 수업
def profile(name, age=17, main_lang="파이썬"):
print("이름 : {0}\t나이 : {1}\t주 사용 언어: {2}" \
.format(name,age,main_lang))
profile("유재석")
profile("김태호")
키워드값
def profile(name, age, main_lang):
print(name,age,main_lang)
profile(name="유재석",main_lang="파이썬",age=20)
profile(main_lang="자바",name="김태호",age=25)
가변인자
# def profile(name,age,lang1,lang2,lang3,lang4,lang5):
# print("이름 : {0}\t나이 : {1}\t".format(name, age), end=" ") # 문장을 출력하고 이어서 계속 다음 문장 출력
# print(lang1,lang2,lang3,lang4,lang5)
def profile(name,age,*language): # 가변 인자 *
print("이름 : {0}\t나이 : {1}\t".format(name, age), end=" ") # 문장을 출력하고 이어서 계속 다음 문장 출력
for lang in language:
print(lang, end=" ")
print()
profile("유재석",20,"Python","Java","C","C++","C#","JavaScript")
profile("김태호",25,"Kotlin","Swift")
지역변수와 전역변수
gun = 10
def checkpoint(soldiers):
global gun
gun=gun-soldiers
print("[함수 내] 남은 총: {0}".format(gun))
print("전체총 : {0}".format(gun))
checkpoint(2) # 두 명이 경계근무를 나감
print("남은 총 : {0}".format(gun))
gun = 10
def checkpoint_ret(gun, soldiers):
gun=gun-soldiers
print("[함수 내] 남은 총: {0}".format(gun))
return gun
print("전체총 : {0}".format(gun))
gun = checkpoint_ret(gun,2) # 두 명이 경계근무를 나감
print("남은 총 : {0}".format(gun))
더보기
def std_weight(height, gender):
if gender == "여자":
return height * height * 21
else:
return height * height * 22
height = 175
gender = "남자"
weight = round(std_weight(height / 100, gender), 2)
print("키 {0}cm {1}의 표준체중은 {2}kg 입니다".format(height,gender,weight))
표준입출력
import sys
print("Python", "Java") # Python Java
print("Python", "Java", sep="") # PythonJava
print("Python", "Java", sep=" ") # Python Java
print("Python", "Java", "JavaScript", sep=" vs ") # Python vs Java vs JavaScript
print("Python", "Java", sep=",", end="?") # Python,Java?
print("Python", "Java", file=sys.stdout) # 표준 출력
print("Python", "Java", file=sys.stderr) # 표준 에러
scores = {"수학":0, "영어":50, "코딩":100}
for subject, score in scores.items():
# print(subject, score)
print(subject.ljust(8), str(score).rjust(4), sep=":") # ljust(8) 8개의 공간을 확보하고 왼쪽으로 정렬을 해라
# 은행 대기순번표
# 001, 002, 003, 004, 005, ...
for num in range(1,21):
print("대기번호 : "+str(num).zfill(3)) # zfill(3) 3개의 공간을 확보하고 값이 없으면 0으로 채워달라
answer = input("아무 값이나 입력하세요")
print(type(answer))
print("입력하신 값은 "+answer+"입니다.")
다양한 출력포멧
# 빈 자리는 빈 공간으로 두고, 오른쪽 정렬을 하되, 총 10자리 공간을 확보
print("{0: >10}".format(500)) # {0: (빈 공간은 스페이스로 놓고)>(오른쪽 정렬을 하되)10(10자리 공간을 확보하면서)} 500을 출력해달라
# 양수일 땐 +로 표시, 음수일 땐 -로 표시
print("{0: >+10}".format(500))
print("{0: >+10}".format(-500))
# 왼쪽 정렬하고, 빈칸을 _로 채움
print("{0:_<+10}".format(500))
# 3자리마다 콤마를 찍어주기
print("{0:,}".format(1000000000000))
# 3자리마다 콤마를 찍어주기, +-부호도 붙이기
print("{0:+,}".format(1000000000000))
print("{0:+,}".format(-1000000000000))
# 3자리마다 콤마를 찍어주기, +-부호도 붙이고, 자릿수 확보하기
# 돈이 많으면 행복하니까 빈 자리는 ^로 채워주기
print("{0:^<+30,}".format(100000000))
# 소수점 출력
print("{0:f}".format(5/3))
# 소수점 특정 자리수까지만 표시
print("{0:.2f}".format(5/3))
파일입출력
score_file = open("score.txt", "w", encoding="utf8")
print("코딩 : 1000", file=score_file)
print("토익 : 950", file=score_file)
score_file.close()
score_file = open("score.txt", "a", encoding="utf8") # 내용이 존재하는 파일에 이어쓰기
score_file.write("과학 : 800")
score_file.write("\n토플 : 110")
score_file.close()
score_file = open("score.txt", "r", encoding = "utf8") # 한 번에 내용 불러오기
print(score_file.read())
score_file.close()
score_file = open("score.txt", "r", encoding = "utf8")
print(score_file.readline(), end="") # 줄별로 읽기, 한 줄 읽고 커서는 다음 줄로 이동
print(score_file.readline(), end="")
score_file.close()
score_file = open("score.txt", "r", encoding = "utf8")
while True:
line = score_file.readline()
if not line:
break
print(line, end="")
score_file.close()
score_file = open("score.txt", "r", encoding = "utf8")
lines = score_file.readlines() # list 형태로 저장
for line in lines:
print(line, end="")
score_file.close()
pickle (피클)
import pickle
profile_file = open("profile.pickle", "wb")
profile = {"이름":"박명수", "나이":30, "취미":["크라임씬","대탈출","여고추리반"]}
print(profile)
pickle.dump(profile, profile_file) # profile 에 있는 정보를 file에 저장
profile_file.close()
profile_file = open("profile.pickle", "rb")
profile = pickle.load(profile_file) # file 에 있는 정보를 profile 에 불러오기
print(profile)
profile_file.close()
with
import pickle
with open("profile.pickle", "rb") as profile_file:
print(pickle.load(profile_file))
with open("study.txt", "w", encoding="utf8") as study_file:
study_file.write("파이썬을 열심히 공부하고 있어요")
with open("study.txt", "r", encoding="utf8") as study_file:
print(study_file.read())
클래스 & __init__
# 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 = "탱크"
# tank2_hp = 150
# tank2_damage = 35
# def attack(name, location, damage):
# print("{0} : {1} 방향으로 적군을 공격 합니다. [공격력 {2}]".format(\
# name, location, damage))
# attack(name, "1시", damage)
# attack(tank_name, "1시", tank_damage)
# attack(tank2_name, "1시", tank2_damage)
# ==> 클래스(붕어빵 기계틀)를 사용해서 구현
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}\n".format(self.hp,self.damage))
# marine1 = Unit("마린", 40, 5)
# marine2 = Unit("마린", 40, 5)
# tank = Unit("탱크", 150, 35)
wraith1 = Unit("빼앗은 레이스", 80 , 5)
print("유닛이름 : {0}, 공격력 : {1}".format(wraith1.name, wraith1.damage))
wraith2 = Unit("빼앗은 레이스", 80 , 5)
wraith2.clocking = True
if wraith1.clocking == True: # 오류남
print("{0} 는 현재 클로킹 상태입니다.".format(wraith2.name))
메소드
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}\n".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}]"\
.format(self.name, location, self.damage))
def damaged(self, damage):
print("{0} : {1} 데미지를 입었습니다.".format(self.name, damage))
self.hp -= damage
print("{0} : 현재 체력은 {1} 입니다.".format(self.name, self.hp))
if self.hp <= 0:
print("{0} : 파괴되었습니다.".format(self.name))
firebat1 = AttackUnit("파이어뱃", 50, 50)
firebat1.attack("5시")
firebat1.damaged(25)
firebat1.damaged(25)
# 결과
# 파이어뱃 : 5시 방향으로 적군을 공격 합니다. [공격력 50]
# 파이어뱃 : 25 데미지를 입었습니다.
# 파이어뱃 : 현재 체력은 25 입니다.
# 파이어뱃 : 25 데미지를 입었습니다.
# 파이어뱃 : 현재 체력은 0 입니다.
# 파이어뱃 : 파괴되었습니다.
상속
# 일반 유닛
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
다중상속
'기타(이론) > 컴퓨터학과 이론' 카테고리의 다른 글
[데이터 분석가] (0) | 2023.09.05 |
---|---|
[면접] 1분 자기소개 (0) | 2023.08.18 |
[C언어] memcpy, strcpy (0) | 2023.07.31 |
[유니티] 쯔꾸르 게임 제작하기 : 캐릭터 애니메이션 (0) | 2023.07.23 |
[유니티] 쯔꾸르 게임 제작하기 : 캐릭터 움직이기 (0) | 2023.07.23 |