初次使用python類–Bank執行個體

來源:互聯網
上載者:User

class Bank:

    def __init__(self):

        print "init ok"

    def Menu(self):

        print "Hello,welcome to this Bank system"

        print "1:new user"

        print "2:Print information"

        print "3:Save Money"

        print "4:Fetch Money"

        print "5:Quit"

 

    def Select(self):

        while 1:

            i=input("Select:")

            if i==1:

                self.NewUser()

            elif i==2:

                self.Print()

            elif i==3:

                self.SaveMoney()

            elif i==4:

                self.FetchMoney()

            elif i==5:

                break

            else:

                print "error input"

    def NewUser(self):

        self.u=User()

        print "Create OK"

    def Print(self):

        self.u.Print()

    def SaveMoney(self):

        m=input("Money to save:")

        self.u.AddMoney(m)

        print "save ok"

    def FetchMoney(self):

        m=input("Money to fetch:")

        self.u.FetchMoney(m)

        print "fetch ok"

       

class User:

    def __init__(self):

        self.name=raw_input("name:")

        self.ID=raw_input("ID:")

        self.money=input("money:")

    def Print(self):

        print self.name

        print self.ID

        print self.money

    def AddMoney(self,money):

        self.money=self.money+money

    def FetchMoney(self,money):

        self.money=self.money-money

       

b=Bank()

b.Menu()

b.Select()

 

該程式定義了一個User類和一個Bank類,處理簡單存錢取錢操作,但不能儲存,算做是對前面學習的一個小的總結(事實上洒家還米編過一個程,嗚嗚,只是看了幾天書而已)感覺Python和C++很相似,老感覺寫python程式是小CASE,今天寫了下,竟然不知道如何上手,寫了完了總結一下遇到的問題:

1:input與raw_input的不同,input返回的是整形數值,而raw_input返回的字串,因此對不同的對象賦值是可要注意了哈。

2:我將User放在下面,Bank還是能調用,這與C++可不同,C++中需要先聲明吧

3:python中的類與C++中的類是有很大不同的,初始化函數就不說了,對成員變數定義是我感覺最不習慣的地方,不過還好,勉強通過解釋。Python中的成員變數分為2中類型,一種是類變數,一種是物件變數,一般情況下我們C++下的成員變數在這裡是物件變數,而C++下的靜態變數才是python中的類變數。

4:謝謝,python還支援break,可惜沒了switch(),不過感覺if,elif,else還是很好用的。

5:類成員函數參數要加self,一時還不習慣,忘了幾次,汗。。。

   

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.