일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자전거
- Grafana
- 10km
- Kubernetes
- Shell
- 달리기
- 성수대교
- 맛집
- 힐링
- 건대입구역
- Python
- 정보처리기사
- 유산소
- 대구
- 하체
- DSEC
- 러닝
- 대전
- 한강
- 오답노트
- 뚝섬유원지
- docker
- zabbix
- Linux
- 중식
- 2021
- GitHub
- Run The Bridge
- 소모임
- Podman
- Today
- Total
Run The Bridge
(Python) Class 공부. 2 본문
채널, 볼륨, 켜짐유무를 확인하는 class를 생성해보았다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
class Television:
def __init__(self, channel, volume, on):
self.channel = channel
self.volume = volume
self.on = on
def show(self):
print(self.channel, self.volume, self.on)
def setChannel(self, chann1. el):
self.channel = channel
def getChannel(self):
return self.channel
|
cs |
호출방식은 다음과 같다.
t = Television(9, 10, True) # 't'라는 객체를 생성해주고 매개변수로 값들을 넘겨준다.
t.show() # method를 호출한다.
--> 9 10 True
또한 채널을 바꾸고 싶으면 setChannel method를 호출해서 바꾸면 된다.
t.setChannel(11)
t.show()
현재 채널값을 불러오고 싶으면 getChannel을 이용하면 된다.
t.getChannel()
--> 11
------------------------------------------------------------------------------------------------------------------------------
학생들을 관리하는 Class를 만들어보자. method는 age, Name 두 개를 사용한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
"""
인스턴스 변수값을 반환하는 접근자(gatters)
인스턴스 변수값을 설정하는 설정자(setters)
"""
class student:
def __init__(self, name=None, age=0):
self.__name = name
self.__age = age
def getAge(self):
return self.__age
def getName(self):
return self.__name
def setAge(self, age):
self.__age = age
def setName(self, name):
self.__name = name
obj = student("Hong", 20)
obj2 = student("OH", 42)
obj.getName(), obj2.getName()
|
cs |
여기서 self.__name = name 과 self.__age = age에서 '__' 언더바 2개가 붙는다.
이 언더바 2개는 검색결과 인스턴스 메서드를 통하여 내부에서는 접근이 가능하나, name과 age에는 접근이 되지않는다.
즉, 비공개속성이라고 이해하면 될 것 같다.
self.__age 부분을 self.age로 고치고 obj.age = 10 을 입력 후 obj.getAge()를 하면 10으로 바꾸는 것을 확인할 수 있다.
obj 변수에는 'Hong'과 '20', obj2 변수에는 'OH'와 '42'를 입력한다.
obj.getName()
--> Hong
obj2.getName()
--> OH
이렇게 우리는 학생들을 Class를 이용하여 손쉽게 관리할 수 있다.
------------------------------------------------------------------------------------------------------------------------------
원의 반지름, 넓이, 둘레를 구하는 Class를 만들어보자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import math
class Circle:
def __init__(self, radius, area, round_): # 반지름, 넓이, 둘레
self.radius = radius
self.area = math.pi * radius * radius
self.round_ = 2 * math.pi * radius
def to_radius(self):
print("원의 반지름 =", self.radius)
def to_area(self):
print("원의 넓이 =", self.area)
def to_round_(self):
print("원의 둘레 =", self.round_)
|
cs |
1. 파이썬의 math 함수를 import 시킨다.
2. Class를 생성하고, __init__에 radius, area, round_를 준다. (round가 반올림함수로 존재하기에 _를 붙인다.)
3. 각각 계산식들을 변수명에 대입한다.
4. 인스턴스값을 반환해주는 반환값 메서드를 생성한다.
1
2
3
4
5
6
7
8
9
|
Circles = Circle(10, area=0, round_=0)
Circles.to_radius()
Circles.to_area()
Circles.to_round_()
print()
Circles2 = Circle(5, area=0, round_=0)
Circles2.to_radius()
Circles2.to_area()
Circles2.to_round_()
|
cs |
5. 결과
------------------------------------------------------------------------------------------------------------------------------
은행시스템을 Class로 한 번 만들어보자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
class bank:
def __init__(self, balance): # 현재 잔액
self.__balance = balance
def withdraw(self, withdraw): # 인출
self.__withdraw = withdraw # 인출금
self.__balance = self.__balance - withdraw # 현재잔액
print(f"통장에서 {self.__withdraw}만원이 출금되었음")
print(f"현재 남은 잔액 {self.__balance}만원 입니다.")
def deposit(self, deposit): # 예금
self.__balance = deposit + self.__balance
print(f"통장에 {deposit}만원이 입금되었음")
print(f"현재 남은 잔액 {self.__balance} 만원 입니다.")
def get_amount(self):
return print("현재 잔액은", self.__balance, "만원 입니다.")
|
cs |
1. Class이름은 bank로 두고 balance라는 잔액변수를 생성한다.
2. withdraw는 인출금, deposit은 예수금을 뜻한다. 각각 메서드를 생성한다.
3. 인출금은 '현재잔액 - 인출금' 이기때문에 식을 세우고 print문으로 남은 잔액을 알려준다.
4. 예금은 '현재잔액 + 예금액' 이기에 똑같은 방식으로 값을 알려준다.
5. 여기서 인출을하고 예금을 했을 때, 현재잔액이 바뀌도록하기 위해 withdraw 메서드에 현재잔액을 balance - withdraw로 바뀌게해두었다.
6. 그리고 접근자를 생성하여 현재 잔액을 출력한다.
1
2
3
4
|
banking = bank(60)
banking.withdraw(50)
banking.deposit(100)
banking.get_amount()
|
cs |
현재 60만원
50만원 출금
100만원 예금
7. 결과
------------------------------------------------------------------------------------------------------------------------------
고양이 이름을 Class로 관리하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
class Cat_name:
def __init__(self, name, age):
self.__name = name
self.__age = age
def maching_name(self):
return self.__name
def maching_age(self):
return self.__age
a = Cat_name("Missy", 3)
b = Cat_name("Lucky", 5)
a.maching_name(), a.maching_age(), b.maching_name()
|
cs |
--> Missy, 3, Lucky
------------------------------------------------------------------------------------------------------------------------------
상자의 가로, 세로, 높이를 받아서 부피를 출력하는 Claass를 생성하자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
class box:
def __init__(self, row, column, high): # 가로, 세로, 높이
self.__row = row
self.__column = column
self.__high = high
def set_row(self):
self.__row = row
def set_column(self):
self.__column = column
def set_high(self):
self.__high = high
def sum_box(self):
return print(f"상자의 부피는 {self.__row * self.__column * self.__high} 입니다.")
def __str__(self): # init에 들어간 변수 자체를 출력할 때 사용한다.
return print(f"{self.__row}, {self.__column}, {self.__high}")
|
cs |
1. Class명은 box로 잡고 __init__에는 row, column, high를 매개변수로 둔다.
2. 설정자를 3개 생성한다.
3. 박스의 부피를 구하는 식을 세운다.
4. __str__에 각 값들의 출력을 담아둔다.
'__str__'은 '__repr__'은 class안에서 자주쓰인다 두 메서드는 객체의 문자열 표현을 반환한다. 마치 print문이라고 생각하면 될 것 같다. 자세한 것은 구글에 검색하는 것을 추천한다.
size = box(100, 100, 100)
size.sum_box()
size.__str__()
--> 상자의 부피는 1000000 입니다.
--> 100, 100, 100
------------------------------------------------------------------------------------------------------------------------------
사각형의 넓이를 구하는 식을 Class로 짜보자
1
2
3
4
5
6
7
8
9
10
11
12
13
|
class Rectangle:
def __init__(self, side=0):
self.side = side
def getArea(self):
return self.side * self.side
def printAreas(r, n):
while n >= 1:
print(r.side, "\t", r.getArea())
r.side = r.side + 1
n = n - 1
|
cs |
여기서는 class안에 메서드와 함수를 사용하였다.
함수는 class안에 side와 getArea()를 호출할 수 있는데 한 번 설명해보겠다.
1. 먼저 Rectangle이라는 Class를 생성하고 __init__에 side값을 담는다.
2. getArea()에는 넓이를 구하는 공식을 적는다
3. 그리고 함수 printAreas를 선언 후 매개변수로 'r', 'n'을 준다.
4. while문을 돌리는데 r.side 즉 매개변수 'r' 값을 side로 주고, 마찬가지로 getArea값도 'r'로 준다.
5. myRect = Rectangle()로 객체를 생성한다.
6. count = 5로 주고 printAreas를 호출한다.
7. 결과값(side값에 따라 사각형의 넓이를 구해준다.)
1
2
3
|
myRect = Rectangle()
count = 5
printAreas(myRect, count)
|
cs |
※ 여기서 우리는 Class는 내부메서드 이외의 함수에서도 접근이 가능하다는 것을 알 수 있다.
------------------------------------------------------------------------------------------------------------------------------
자동차 Class를 만들고 자동차 Class를 상속받는 Truck Class를 만들어보자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
"""
상속 inheritance
"""
# 부모 클래스
class Vehicle:
def __init__(self, make, model, color, price):
self.make = make
self.model = model
self.color = color
self.price = price
def setMake(self, make):
self.make = make
def getMake(self):
return self.make
def getDesc(self):
return "차량 =("+str(self.make)+"," +\
str(self.model)+"," +\
str(self.color)+"," +\
str(self.price)+")"
# 자식 클래스
class Truck(Vehicle):
def __init__(self, make, model, color, price, payload):
super().__init__(make, model, color, price)
self.payload = payload
def setPayload(self, payload):
self.payload = payload
def getPayload(self):
return self.payload
def main():
myTruck = Truck("Tisla", "Model S", "white", 10000, 20000)
myTruck.setMake("Tesla")
myTruck.setPayload(2000)
print(myTruck.getDesc())
main()
|
cs |
1. Vehicle Class를 생성하고 매개변수로 make, model, color, price를 준다.
2. 각 변수에 맞게 인스턴스를 생성한다.
3. 내가 변경할 설정자, 접근자 메서드도 생성하고 마지막으로 결과를 도출하는 접근자도 만들어낸다.
4. 자식클래스에는 부모클래스를 상속받기위해 class Truck(Vehicle)와 같이 괄호안에 부모클래스를 써준다.
5. __init__ 메서드에는 부모 클래스의 매개변수와 내가 추가할 매개변수를 써준다.
6. 자식클래스에서 부모클래스의 __init__부분을 상속받으려면 super().__init를 써주어야 한다.
7. 그리고 payload부분이 새로 생겼으므로 설정자, 접근자를 생성한다.
8. main 함수를 하나 만든 후 매개변수값을 집어넣고, 각 메서드에 값들을 넣어 테스트한다.
9. 결과
※ 부모클래스를 상속받으면, __init__ 메서드에 각 인스턴스를 생성하지 않아도 값들을 받아올 수 있다.
-------------------------------------------------------------------------------------------------
스포츠카의 터보와 속도를 조절해보는 Class를 만들어보자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
class Car:
def __init__(self, speed):
self.speed = speed
def setSpeed(self):
self.speed = speed
def getSpeed(self):
return self.seped
def getDesc(self):
print(f"차량 속도는: {self.speed} 입니다. turbo는 {self.turbo} 입니다.")
class SportsCar(Car):
def __init__(self, speed, turbo):
super().__init__(speed)
self.turbo = turbo
def setTurbo(self, turbo):
self.turbo = turbo
def getTurbo(self):
return self.turbo
|
cs |
마찬가지로 부모클래스의 Car를 상속받는 SportsCar를 생성해서 접근자와 설정자 메서드를 생성하면 손쉽게 구현할 수 있다.
Ferari = SportsCar(10, True)
Ferari.getDesc()
--> 차량 속도는: 10 입니다. turbo는 True 입니다.
Ferari.setTurbo(False)
Ferari.getDesc()
--> 차량 속도는: 10 입니다. turbo는 False 입니다.
------------------------------------------------------------------------------------------------------------------------------
사각형의 둘레와 넓이를 구하는 Class를 만들자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
class Shape:
def __init__(self, x, y):
self.x = x
self.y = y
def area(self):
print("계산할 수 없음!")
def perimeter(self):
print("계산할 수 없음!")
class Rectangel(Shape):
def __init__(self, x, y, w, h):
super().__init__(x, y)
self.w = w
self.h = h
def area(self):
return self.w * self.h
def perimeter(self):
return 2*(self.w+self.h)
def main():
r = Rectangel(0, 0, 100, 200)
print(r.area())
print(r.perimeter())
main()
|
cs |
1. Shape라는 부모클래스를 상속받고 'w'와 'h'라는 인스턴스 변수를 생성합니다.
2. 식을 구하는 메서드를 생성하고 main함수를 정의 후 매개변수를 집어넣습니다.
3. 결과
print(r.area())
--> 20000
print(r.perimeter())
--> 600
-----------------------------------------------------------------------------------------------------------------------------
학생들의 이름, 주민번호, 수강과목, 평점을 관리하는 Class를 만들어보자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
class Person:
def __init__(self, name, resident_number):
self.name = name
self.resident_number = resident_number
def setName(self):
self.name = name
# def getDesc(self):
# print(f"이름은 {self.name}이고, 주민번호는 {self.resident_number} 입니다.")
class Student(Person):
def __init__(self, name, resident_number, study, grade):
super().__init__(name, resident_number)
self.study = study
self.grade = grade
def setStudy(self):
self.study = study
def setGrade(self):
self.grade = grade
def getDesc(self):
print(f"이름={self.name}\n주민번호={self.resident_number}\n수강과목={self.study}\n평점={self.grade}")
class Teacher(Person):
def __init__(self, name, resident_number, lec, salary):
super().__init__(name, resident_number)
self.lec = lec
self.salary = salary
def setLec(self):
self.lec = lec
def setSalary(self):
self.salary = salary
def getDesc(self):
print()
print(f"이름={self.name}\n주민번호={self.resident_number}\n강의과목={self.lec}\n월급={self.salary}")
def __str__(self):
return f"{self.name}"
|
cs |
1. 먼저 부모클래스인 Person를 생성한다 Person은 이름과 주민번호를 인스턴스변수로 가진다.
2. Person를 상속받는 Student는 수강과목과 평점을 설정자를 생성하여 관리한다.
3. Person를 상속받는 Teacher는 강의과목과 월급을 설정자를 생성하여 관리한다.
4. __str__를 써가지고 내가 입력한 값들을 볼 수 있다.
5. 입력 & 결과 값
Minsu = Student("민수", 12345678, "['자료구조']", 0)
Minsu.getDesc()
--> 이름=민수
--> 주민번호=12345678
--> 수강과목=['자료구조']
--> 평점=0
Michael = Teacher("마이클", 1234567890, "['Python']", 30000000)
Michael.getDesc
--> 이름=마이클
--> 주민번호=1234567890
--> 강의과목=['python']
--> 월급=30000000
print(Michael.__str__())
--> 마이클
-----------------------------------------------------------------------------------------------------------------------------
method overridng를 구현하는 Class를 만들어보자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# method overriding
class BankAccount:
def __init__(self, name, number, balance):
self.balance = balance
self.name = name
self.number = number
def withdraw(self, amount):
self.balance -= amount
return self.balance
def deposit(self, amount):
self.balance += amount
return self.balance
class SavingsAccount(BankAccount):
def __init__(self, name, number, balance, interest_rate):
super().__init__(name, number, balance)
self.interest_rate = interest_rate
def set_interest_rate(self, interest_rate):
self.interest_rate = interest_rate
def get_interest_rate(self):
return self.interest_rate
def add_interest(self):
self.balance += self.balance * self.interest_rate
class CheckingAccount(BankAccount):
def __init__(self, name, number, balance):
super().__init__(name, number, balance)
self.withdraw_charge = 10000
def withdraw(self, amount):
return BankAccount.withdraw(self, amount + self.withdraw_charge)
|
cs |
1. 부모클래스인 BankAccount를 만들고 인스턴스 변수 'balance', 'name', 'number'를 만든다.
2. 출금에는 현재잔액(balance) - amount 식을 세운 뒤 메서드 생성, 입금도 마찬가지로 생성한다
3. 자식클래스인 SavingsAccount를 생성하고 이자율을 주기위한 설정자, 접근자를 생성한다.
4. 마찬가지로 CheckingAccount에는 출금 수수료를 10000원 붙이고 amount값에 10000원을 추가한다.
5. return BankAccount.withdraw(self, amount + self.withdraw_charge) 이 부분이 부모클래스의 withdraw에 amount에 + 10000원 된다고 보면된다.
6. 입력 및 결과값
a1 = SavingsAccount("홍길동", 123456, 10000, 0.05)
a1.add_interest()
print("저축예금의 잔액=", a1.balance)
--> 저축예금의 잔액 = 10500.0
a2 = CheckingAccount("김철수", 123457, 2000000)
a2.withdraw(100000)
print("당좌예금의 금액=", a2.balance)
--> 당좌예금의 금액 = 1890000
-----------------------------------------------------------------------------------------------------------------------------
간단하게 동물과 개를 이용한 메서드 오버라이딩을 구현한 Class를 써보자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# method overriding example
class Animal:
def __init__(self, name=""):
self.name = name
def eat(self):
print("동물이 먹고 있습니다.")
class Dog(Animal):
def __init__(self):
super().__init__()
def eat(self):
print("강아지가 먹고 있습니당")
d = Dog()
d.eat()
|
cs |
1. Animal에 eat 메서드는 '동물이 먹고 있습니다.' 를 설정한다.
2. 자식클래스 Dog에 eat 메서드는 '강아지가 먹고 있습니다'로 부모클래스의 eat를 재정의해준다.
3. 입력 및 결과 값
d = Dog()
d.eat()
--> 강아지가 먹고 있습니당
-----------------------------------------------------------------------------------------------------------------------------
고용인과 매니저간의 관계를 Class로 만들어보자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
def getSalary(self, salary):
self.salary = salary
return salary
class Manager(Employee):
def __init__(self, name, salary, bonus):
super().__init__(name, salary)
self.bonus = bonus
# def getSalary(self, salary):
# return Employee.getSalary(self, salary + self.bonus)
# 교수님 코딩
def getSalary(self):
salary = super().getSalary()
return salary + self.bonus
def __repr__(self):
return "이름 " + self.name + "; 월급: " + str(self.salary) +\
"; 보너스: "+str(self.bonus)
# Manager_Minsu = Manager("민수", 2000000, 1234000)
# Manager_Minsu.getSalary(1000000)
kim = Manager("김철수", 2000000, 1000000)
print(kim)
print(__name__)
|
cs |
1. Employee Class를 생성한다. 인스턴스 변수는 'name'과 'salary'를 가진다 설정자로 getSalary 메서드를 생성한다.
2. 자식클래스인 Manager는 인스턴스 변수 bonus가 추가되어있다.
3. 메서드 오버라이딩을 통해 getSalary를 재정의 해준다.
4. __repr__를 이용해 결과를 보여준다. ( '__str__'를 써도 출력이 된다.)
5. 출력 및 결과값
kim = Manager("김철수", 2000000, 1000000)
print(kim)
--> 이름 김철수; 월급: 2000000; 보너스: 1000000
-----------------------------------------------------------------------------------------------------------------------------
객체를 생성할 때 List를 써 서 Class에 접근해보자
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
return '알 수 없음'
class Dog(Animal):
def speak(self):
return '멍멍!'
class Cat(Animal):
def speak(self):
return '야옹!'
animalList = [Dog('dog1'),
Dog('dog2'),
Cat('cat1')]
for a in animalList:
print(a.name +':' + a.speak())
print(animalList)
|
cs |
1. 부모클래스인 Animal을 생성한다.
2. 자식클래스인 Dog은 멍멍, Cat은 야옹을 넣는다.
3. animalList에 'dog1', 'dog2', 'cat1'을 생성한다.
4. for문을 이용해 출력해본다
5. 입력 및 결과 값
for a in animalList:
print(a.name +':' + a.speak())
--> dog1: 멍멍!
--> dog2: 멍멍!
--> cat1: 야옹!
print(animalList)
--> 각 객체들의 주소값들이 담겨있다.
-----------------------------------------------------------------------------------------------------------------------------
마지막으로 Class을 이용해 'Card'와 'Deck'를 구현해보자
카드 모양: ['클러버', '다이아몬드', '하트', '스페이드']
카드 숫자: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '잭', '퀸', '킹', '에이스']
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
class Card:
suitNames = ['클럽', '다이아몬드', '하트', '스페이드']
rankNames = [None, '에이스', '2', '3', '4', '5',
'6', '7', '8', '9', '10', '잭', '퀸', '킹']
def __init__(self, suit, rank):
self.suit = suit
self.rank = rank
def __str__(self):
return Card.suitNames[self.suit]+"" +\
Card.rankNames[self.rank]
class Deck:
def __init__(self):
self.cards = []
for suit in range(4):
for rank in range(1, 14):
card = Card(suit, rank)
self.cards.append(card)
def __str__(self):
lst = [str(card) for card in self.cards]
return str(lst)
deck = Deck()
deck.__str__()
|
cs |
1. Card Class를 생성하고 'suitNames'에는 모양을, 'rankNames'에는 숫자을 넣는다.
2. __init__에는 'suit'와 'rank'의 인스턴스 변수를 생성한다.
3. __str__에는 Card.suitNames와 Card.rankNames을 보여준다.
4. Deck Class를 생성하고 빈 리스트 'self.cards'를 생성한다.
5. 이중 for문을 사용해 'suitNames'와 'rankNames'를 묶어준다.
6. __str__에서 list comprehension를 사용해 변수에 담아주고 그 값을 return해준다.
7. 입력 및 출력값
deck = Deck()
deck.__str__()
--> "['클럽에이스', '클럽2', '클럽3', '클럽4', '클럽5', '클럽6', '클럽7', '클럽8', '클럽9', '클럽10', '클럽잭', '클럽퀸', '클럽킹', '다이아몬드에이스', '다이아몬드2', '다이아몬드3', '다이아몬드4', '다이아몬드5', '다이아몬드6', '다이아몬드7', '다이아몬드8', '다이아몬드9', '다이아몬드10', '다이아몬드잭', '다이아몬드퀸', '다이아몬드킹', '하트에이스', '하트2', '하트3', '하트4', '하트5', '하트6', '하트7', '하트8', '하트9', '하트10', '하트잭', '하트퀸', '하트킹', '스페이드에이스', '스페이드2', '스페이드3', '스페이드4', '스페이드5', '스페이드6', '스페이드7', '스페이드8', '스페이드9', '스페이드10', '스페이드잭', '스페이드퀸', '스페이드킹']"
※ 사실 이 코드는 이해가 되지 않는 부분이 많다 디버깅을 하면서 하나하나 분석해봐야겠다.
※ 여기 적힌 코드들은 모두 달라질 수 있습니다
※ 잘못된 내용이 있을수도 있습니다! 지적해주시면 감사합니다. 사랑~
감사합니다. Thank you!
'Python > How to Use Python' 카테고리의 다른 글
(Python) Enter을 2번 입력받기 전 까지 계속 input 하는 방법 (0) | 2021.07.16 |
---|---|
(python error) module과 동일한 명의 .py를 썼을 때 (0) | 2021.06.23 |
(Python) 재귀함수(Recursive function)란? (2) | 2021.05.17 |
(API+Python) VirusTotal API 이용해서 URL 검색하기 (0) | 2021.04.03 |
(Python) Class 공부 (0) | 2020.12.12 |