class Account :
account_count = 0 #클래스 변수 ==> 모든 객체가 공유함
def __init__(self, name, rest) :
#해당 객체의 이름, 잔고
self.name = name #self는 객체를 의미함
self.rest = rest
#해당 객체의 계좌번호
num1 = random.randint(0,999)
num2 = random.randint(0,99)
num3 = random.randint(0,999999)
num1 = str(num1).zfill(3)
num2 = str(num2).zfill(2)
num3 = str(num3).zfill(6)
self.account = "{}-{}-{}".format(num1,num2,num3)
self.bank = "SC은행" #매개변수로 전달받지는 않지만 해당 객체 고유의 변수
#해당 객체의 입금 횟수
self.deposit_count = 0
#해당 객체의 입금내역리스트
self.deposit_list = []
#해당 객체의 출금내역리스트
self.withdraw_list = []
#이 클래스의 생성횟수
Account.account_count +=1
#개별 객체가 아니라 전체 클래스의 account_count변수를 증가시키는 거임
@classmethod #클래스메서드
def get_account_num(cls) :
print(cls.account_count)
def deposit(self, amount) :
if amount >=1 :
self.rest += amount
self.deposit_list.append(amount)
self.deposit_count +=1
if self.deposit_count %5 ==0 :
self.rest = self.rest*1.01
def withdraw(self, amount) :
if amount < self.rest :
self.rest -= amount
self.withdraw_list.append(amount)
def display_info(self) :
self.rest = format(self.rest, ',')
print("""
은행이름 : {}
예금주 : {}
계좌번호 : {}
잔고 : {}
""" .format(self.bank, self.name, self.account, self.rest))
def deposit_history(self) :
print(self.deposit_list)
for i in self.deposit_list :
print(i)
def withdraw_history(self) :
print(self.withdraw_list)
for i in self.withdraw_list :
print(i)