初次使用python类--Bank实例

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类,处理简单存钱取钱操作,但不能保存,算做是对前面学习的一个小的总结(事实上洒家还米编过一个程,呜呜,只是看了几天书而已)感觉PythonC++很相似,老感觉写python程序是小CASE,今天写了下,竟然不知道如何上手,写了完了总结一下遇到的问题:

1inputraw_input的不同,input返回的是整形数值,而raw_input返回的字符串,因此对不同的对象赋值是可要注意了哈。

2:我将User放在下面,Bank还是能调用,这与C++可不同,C++中需要先声明吧

3python中的类与C++中的类是有很大不同的,初始化函数就不说了,对成员变量定义是我感觉最不习惯的地方,不过还好,勉强通过解释。Python中的成员变量分为2中类型,一种是类变量,一种是对象变量,一般情况下我们C++下的成员变量在这里是对象变量,而C++下的静态变量才是python中的类变量。

4:谢谢,python还支持break,可惜没了switch(),不过感觉if,elif,else还是很好用的。

5:类成员函数参数要加self,一时还不习惯,忘了几次,汗。。。

   

你可能感兴趣的:(python,user,System,Class,input,menu)