파이썬 배운지 한달차

여러가지 도전적인 상황이 많이 발생했었습니다.

한달밖에 파이썬을 안 배웟는데 벌써부터 이런걸 한다구요?

 

한달밖에 안되서 이거 밖에 못하는거라고 말해주지 않겟어요... ㅠ


class Customer:
    def __init__(self, account_name, account_number, opening_balance):
        self.account_number = account_number
        self.account_name = account_name
        self.balance = opening_balance
            #내가 사용할 친구들을 만들어주고
           
    def deposit(self,amount):
        self.balance = self.balance+amount
        print(
            f"Balance after deposit ${amount} to {self.account_name} is {self.balance}"
        )
            #내가 사용할 도구(함수)를 만들어주고/그 도구 안에서 작용하는
    def withdraw(self,amount):
        if amount <= self.balance:
            self.balance + self.balance - amount
            print(
                f" balance after withdrawl ${amount} from {self.account_name} is ${self.balance}"
            )
        else:
            print(f"Insufficient funds for withdrawl amount {amount}")
            return self.balance
       
    def __str__(self) :
        return f'Account name {self.account_name}, Account #:{self.account_number}, Opening Balance {self.balance} Closing balance : ${self.balance}'

#TEST
customer1 = Customer("Sally", "12345", 500.0)
customer1.deposit(75.0)
customer1.withdraw(100)
customer1.__str__()
#Customer.deposit(customer1)


class Bank:
    def __init__(self):
        self.accounts = []
        self.next_account_number = 100

    def create_account(self, account_name, opening_balance):
        new_account = Customer(
        account_name, self.next_account_number, opening_balance
        )
        self.next_account_number = self.next_account_number + 1 #새로운 계좌를 하나 만들어 줍시다
        self.accounts.append(new_account) #새로운 계좌를 계좌리스트에 붙여줍니다
        return self.next_account_number - 1 #본래 계좌를 만들었으면 원래대로 제다리에 돌려둡시다
       
    def get_account(self, account_number):
        for account in self.accounts:
            if account.account_number == account_number :
                return account
                print("Account not found."
                        )
            return None
    def deposit_into(self, account_number, deposit_amount):
        found = False
        for account in self.accounts:
            if account_number == account.account_number:
                new_balance = account.deposit(deposit_amount)
                found = True
                print(
                    f'Deposit ${deposit_amount} to account #{account_number}, new balance is {new_balance}'
                )
        if not found:
             print(f"Account {account_number} not found")

    def calculate_deposit_base(self):
        deposit_base = 0
        for account in self.accounts:
            if account.balance >0:
                deposit_base = deposit_base + account.balance
        print(f"the total funds after all transaction ${deposit_base}")
        return deposit_base
   
bank = Bank()
John_acount = bank.create_account("John Doe", 900.00)
James_acount = bank.create_account("James Scott", 1200.00)

John_customer = bank.get_account(John_acount)
James_customer = bank.get_account(James_acount)
print(John_customer)

요즘애들은 고등학교에서도 파이썬을 배우고 심하면 C언어도 배운다고 하던데

내가 고등학교때에는 그런거 없었거든요? 

그러면 좀 상대적 박탈감이 들기도 하구 뭐 별 수 있나

시대가 빠르게 변화하고있는데 그 시대에 걸맞게 어린아이들을 올바르게 교육시켜서 사회로 내보내는게 학교의 역할인데

 

내가 학교다니던 2012~2015년의 시기에는 코딩 배우는게 올바르지는 않았나? 봐요 

무튼 사담은 뒤로 하고 오늘 하루종일 학교에서 배운거(연습) 공유함

작은 성취감이 느껴지는 것을 뒤로 하고 

파이썬입니다! 

현직자 친구들이 보면

"이 새끼 존나 기본적인거 하면서 블로그에 글 쓰네 ㅉㅉ" 이렇게 말 하지 않을까요?

잘은 몰루?

 

Visual Studio에서 복사 붙여넣기한 것입니다. 나만 보고싶은데

개발자는 세상 심라 만상 모든것이

나의 것이 아님임을 깨닫고 자기가 만든 코드를 남들한테

공유하는 마음 가짐이 젤 중요하데요.

 


#Scenario - Library requires a new system
#First step : identifying the classes

class Library: #큰 개념 - 전체적인 큰 블럭을 말합니다
    def __init__(self):
        self.books=[] #Attributes
        self.patrons=[]
    def add_book(self, book):
        self.book.append(book)

        #self는 자기자신을 부르는애에요, 자기 자신을 말하는 딕셔너리 라고도 생각하면 됩니다
 
#작은개념(Constructor:생성자) // 아니 번역 개떡같이 해놨는데 뭐 생선자라니까 생선자라구 할게요
class Patron:          #Patron 은 후원자를 말하기도 하지만, 주요 상점/식당의 고객들을 지칭하는 "공식어휘"
    def __init__(self): #내부 애들을 지어볼까요
        self.borrowed_books = [] #List to storae borrowed books
        self.idname = []
        self.name =[]
        self.book=[]

        #얘내들은 아직까지 할 줄 아는게 없습니다. 비유를 하자면 내 손에 "핸드폰"이 들려있다고 해서
        #그 핸드폰이 스스로 무언가를 하는것은 아닙니다, 그러니 유저들이 "상호작용"을 해줘야하잖아요?
        #그러니 함수를 설정해 어떻게 사용할지 넣어줍시다, 함수는 가능한 시나리오중 하나를 묘사하는 거라구 생각하면 편합니다
        #그러니까, 앞서 비유한 핸드폰을 갖고 "친구한테 전화하기" 라는 함수를 만드는거에요.
        #핸드폰 번호도 넣어주고 해야겠죠? 친구한테 전화할려면 친구 전화번호를 넣어야지 아무 번호만 넣으면 안되잖아요
   
    def __str__(self):  
        return(f"{self.borrowed_books}, Your ID Num {self.idname} and {self.name}")
    #__str__ 함수는 신기한 녀석입니다, 이 함수로 오브젝트를 String 으로 표현할수이써요, 생각해보니까 이놈 이름도 String 이라는걸 함수로 표현한 친구네요. 참 착한 친구에요
    #객체 내부에서 넘어오는 값을 String으로 출력할때 이 착한 친구는 필수적이에요
     # 만약에, 이 녀석이 없이 함수를 출력한다면, 해당 객체의 "메모리 주소"를 출력합니다
     # 그러니까 메모리를 집이라고 생각한다면, 그 집의 주소를 말하는거에요
     # 친구의 이름을 불러야하는데, 친구집 주소만 알고있다면 "00시 00구 00로 00아파트 00호수 사는 놈" 이라고 부르는 거잖아요? 그럼 좀 이상하잖아요?
     # 그럴때 __Str__ 친구를 불러서 이름을 알려주는 겁니다, 컴퓨터는 똑똑한 친구지만 하나하나 알려줘야하는 귀찮음이 있어요.

    #이제 책을 빌려봅시다
    #책빌리기 함수!
    def borrow_book(self,book):
        if book.is_borrowed:
            print(f"sorry, {book.name} is out on loan")
        else:
            book.is_borrowed = True #책이 빌려진게 맞다면
            self.borrowed_books.append(book) #빌린책들의 리스트에 추가해봅시다

            #참고로 파이썬에서 . 점은 다른 Method 에서 개념을 가져온겁니다
            #헉 이거 모르면 님아 개념 놓친거임 이거 할때가 아님 개념 ㄱㄱ
   
    def return_book(self,book):
        for borrowed_book in self.borrowed_books:
            if borrowed.book.name == book.name: #빌린 책의 이름이
                print.is_borrowed = False
                self.borrowed_books.remove(book)

    def view_borrowed_book(self,book):
        borrowed_books_list = []
        for book in self.borrowed_book: #for 반복 함수로 리스트를 만드는 행위입니다.
            print.borrowed_books_list.append(str{book}) #여기서 str은 오는 값을 string으로 출력하라는 소리입니다
            #예시를 들어볼께요, 친구, 친구의 이름을 기억하기 쉽게 아저씨 같은 이름을 넣어봅시다
            #김덕배(48세, 무직 배수)라는 친구를 뒀다고 생각해요
            #그 친구의 나이는 우리가 48이라는걸 알아요
            #근데 컴퓨터는 어린아이 같아서, 그 숫자가 왜 주어진지 말을 해줘야하거드요.
            #안그러면 잉?? 48??? 뭐지 마법의 숫자인가? 하면서 아무것도 안해요 컴퓨터는 참 인생 편하게 삽니다
            #그때 개발자 친구들이 말해줍니다 "예야, 48이라는 숫자는 스트링이야"
            #그럼 컴퓨터가 그 숫자를 기억하고 48은 스트링이구나! 라고 기억을 할거에요
            #이런 같은 개념으로 int, str, float, chr 같은 것으로 할당이 가능합니다. 콤퓨타는 인생 편하게 살아서 좋겠죠?
    def __str__(self) -> str:
        return(f"{self.name}, is a {self.name}")
   
   
   
       

class Book: #작은 개념 2 (Constructor)
    def __init__(self, name, genre, year, is_borrowed):
        self.name = name
        self.genre = genre
        self.year = year
        self.is_borrowed = False
    def __str__(self):
        return(f"Title:{self.name}, Genre:{self.genre},Publish year{self.year}. is borrowed")

#만들어진 애들을 테스트 해봅시다. 내가 만든 코드니까 내가 좋아하는걸 넣을꺼에요
book1 = Book("Steins;Gate", "Sci-fi","2008", "is borrowed")
print(book1)

view_borrowed_book()
        #항상 콤마가 적절히 사용되었는지 확인해봅시다... 아까도 이거땜에 오류 겁나 났엇음
 
 
#오늘 배운 중요개념 
 클래스가 가진 함수를 method 라고 부른다
 클래스 내부에 함수를 정하고 싶으면, self를 넣어줘야한다. <---- 이건 자바나 C언어는 다른거 넣음. 
 클래스는 하나의 도구를 내 스스로 만드는 과정이고, 그 도구를 만들어 내가 원하는 것을 조각한다
 

 

한달이라는 시간은 정말 짧고도 긴 시간이다

물론 시간이라는 것은 상대적인 개념이라서, 누군가는 "한달 엄청 길어요 뻥치지 마셈" 이럴수도 있는데

그런 분들이 있다면 미안하며 대한민국을 지켜주고 계신것에 감사 인사를 올린다.

나에게 있어 최근 경험한 한달은 정말 빠르게 지나갔으니까

 

글을 시작하기에 앞서 

최근드는 생각을 여기에 남기는데, 

이는 독자들을 위해 머릿글을 남기는 감성? 이기도 한데.....

어차피 호주 생활을 내가 어떻게 하고 있느냐에 관점으로 

일기를 작성하고 있는 것이니까,

미래에 내가 훌륭한 사람이 되어서 이 블로그를 책으로 엮어갖고 개당 25달러에

파는 상상도 해보고,

안네의 일기 마냥 그 시대상의 사람들의 생각을 나타내주는 기록으로 남아서 역사적 증거로 사용되거나

혹은 

누군가에게 일상의 작은 행복이 될 수도 있고,

혹은 미래의 내 자식이 이 글을 읽으면서 "아빠도 솔직히 그랬잖아 " 라고 

반항아닌 반항어린 모습을 보고싶은 것도 있다. 

 

물론 어디까지나 아직 일어나지 않은일이기에, 아직 모르는 일들이 가득한 미래의 일을 상상하는 것이지만

어쩌겠는가, 그것이 내 성격인걸

 

이 글을 읽으시는 분들은 또 이런말을 남길지도 모른다, "나이도 어린놈이 뭐 아는것마냥 지껄여두는데 뭐고 이 블로그"

그렇다면 내가 할말은 "모르니까 지껄이고, 당신에게 배우고자 한다" 하는 말 밖에 할말이 없네

 

어찌됬던 저찌됬던, 오랜 기간동안 여러분들이 기다렸던 호주 생활 일기 27일차 시작하고자 한다

 


 

음 IT를 공부한지 좀 되고있는데
말이 IT (Information Technology) 이지, 사실상 코딩과 프로그래밍에 대한 전반적인 지식과 Business  관점에서의 프로그래머들이 가져야할 상식을 배운다. 여기서 좀 더 나아가 내가 컴퓨터와 정보처리에 대해 깊은 학문을 하고자 하면 

CS - Computing Science 로 진학을 하면 되는 것이고, 그 이후에 석사를 하던 취업을 해서 경력을 쌓아서 또 그에 걸맞는 경험을 쌓아 남들과 다른 지식으로 그쪽 분야의 전문가가 되는 길을 가면 되는 것이고

 

개발자가 되어, 우리가 사용하는 전자기기를 다른 사람을 위한 지도를 배우고 싶다는 관점에 배우고 싶다면

자기만의 학점을 배치해서, 

 

DevOP 나 뭐  Software Engineering 테크트리를 밟으면 된다

그거 말고도 우리가 사이버 보안 쪽으로 가고싶다면 Cyber Security 를 

아니면 뭐 Master 까지 하고 Doctorate Degree 를 따서 

세상을 바꾸는 관점을 공부하고 미래를 양성하고 싶다면 그쪽 길로 가도 되는것이고 

 

Quantum Computing System Engineering 같은 이름 겁나 길고 딱봐도 난해하고 어렵고 머리 아픈것을 하고 싶다면

그것대로 본인이 한번쯤 수강을 해보고 공부하는 것도 나쁘지 않다

 

해외 대학과 한국대학을 두개 경험해본 필자의 경험으로써는

한국 대학과 해외 대학의 가장큰 차이점은 학생의 공부에 자율성을 부여하는 것에 있는거 같다.

 

한국 대학에 다녔을때 가장 어려웠던 점은, 학교 생활과 알바를 병행하는것이 힘든 것이 너무 많았다는 것인데

대학의 악의 사이클이라고 

대학에 다니기 위해 알바를 해야하고, 알바를 하다보니까 공부를 할시간이 없고, 공부를 못하다보니까 학점이 안나오고, 학점이 안나오니까 장학금이 잘 안나오고 다시 1번으로 돌아가 이 사이클을 4년동안 병행하다보면 어찌저찌 이게 맞나 싶은 학점 평균 3.0 언저리 양산형 자쿠 학생이 되어 취업시장으로 나오게 되는 눈물 나는 이야기 ......

 

나두 한국에서는 3학년 학점 3.2였으니까.. 아임 양산형 자쿠...야라레메카.. 영화속에서 슈퍼히어로가 나타난다면 저기 저 화면 밖에서 튕겨저 나가고 있는 역할을 담당하는 그리 중요하지도 그리 대단하지도 않은 학생

 

 

 

 

여기, 호주에서 놀라움을 금치 못하는 것은 학교 생활과 알바를 병행해도 그리 너무 엄청 힘든것은 없는거 같다

(주의 : 이 글을 작성하고 있는 사람은 호주에 도착한지 27일 정도 밖에 안되는 뉴비입니다, 독자의 주의를 고합니다)

 

학교도 시스템이 워낙 잘되어있어서 다양한 활동을 하게 보장해주며, 공부를 위해 환경을 어떻게든 지원해준다는것이다

아! 해외 학교의 단점? 

 

고등학생들이 꿈꿔왔던 술을 통해 얻는 보상이 매우 적다는 것이다

 

한국 학교는 개강파티, 종강파티, 과제파티, MT 뭐 기타 등등 

사회에 나가기 전에 술 자리에 대한 개념을 엄청 많이 배울수밖에 없는 환경이 조성되어있는데

 

여기서 보는 외국? 아 여기선 내가 외국인이구나

 

여기서 보는 내국? 인 들은 술을 많이 안마신다

웃긴게, 그러니까

 

"한국인의 기준"으로 술을 많이 안마신다

그들은 술을 많이 마신다고 착각하지만

우리, 한국인들의 시야, 로 그들의 술을 대하는 작은 행동하나하나는 

귀여움을 넘어 깜찍할 정도다

과거 새로운 문명을 발견하는 , 아니, 다른 문명을 찾고 차이점을 기록해 후대에 지혜를 전파하고자 했던

역사속의 선구자들이 감정이 바로 이런 감정이었지 않았을까 하는 생각이 들 정도인데 

 

술 문화 형성이 한국과 다른 이유로

 

독자들 사이에서 학부모가 존재하고, 자제분들을 해외의 대학으로 보내고 학습을 시키고 싶지만

술이나 담배나 혹은 다른 중독성이 있는 약물에 노출될까봐 근심이 이만 저만이 아니라면

그 근심을 덜어놓고 자제분을 믿었으면 좋겠다

 

(주의: 필자는 호주 생활을 시작한지 27일차다)

 

아 참! 교환학생으로 UTS를 오시는 분들도 있다

여기와서 본 한국 학생과 일본 학생들과 때로 만나서 같이 이야기하고 연락처 주고받고 

밥먹을때 심심할때마다 어쩌다가 불려가서 이야기 들어주고 과제도 하고 

시드니 구경도 하고 있는데 

 

왠만해서는 교환학생으로 해외 대학을 가는 것을 추천한다

왜냐하면...

 

한국 대학에서 보내는것이나 일본 대학에서 보내는것이나

본교에서 서포트가 있어서,

 

비록 우리가 출발지는 달랐지만 중간에 과정에서 만난 인연일지라도

난 교환학생이 아닌 현지의 International, 그러니까 국제 학생이라

금전적인 측면에서 너무나 많은 부담을 껴않고 있다

 

빨래 비용 아낄려고 손빨래하고 한국음식이 그리워 한국에서 온 학생들에게서 얻어먹고있으니까

 

어찌됬던, 내가 이런말을 하게될지는 몰랐는데.

먼 타지 생활속에서 조국의 소식을 듣는, 아니 어쩌다가 만나는 우리 사람이 너무나도 반갑고 정겹다

흑흑 김치 넘 비싸 흑흑 

군필 남성이 이런 감성적인 글귀를 쓰게 될줄이야. 쓰다보니까 감정적으로 변했다.

후우 진정해야지,

 

27일차 일기는 시드니 UTS 학교의 도서관 사진으로 마무리할려고 한다

 


 

 

개꿀자리
하루의 마무리는 타코

이상, 27일차 일기 끝

 

+ Recent posts