初次使用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,一时还不习惯,忘了几次,汗。。。

   

实验题目 编写一个实现银行帐户的概念,包括的属性有“帐号”、“储户姓名”、“地址”、“存款余额”,包括的方法有“存款”、“取款”、“查询”、“计算利息”、“累加利息”等。 实验要求 改写上面的,增加一个的静态属性“最小余额”和一个用来修改这个最小余额属性的方法。 改写上面的,增加一个的静态属性“活期利率”和封装这个属性的相应方法。 程序模块 实验后的结果验证 总结体会 通过此次实验,我初步掌握了编写一个的概念,更进一步的熟悉了static等等与之用法相似的语法,增强了自己学好JAVA的信心。进一步掌握静态对象和非静态对象的区别与联系。 静态对象的数据在全局是唯一的,一改都改。如果你想要处理的东西是整个程序唯一的,弄成静态是个好方法。 非静态的东西你修改以后只是修改了他自己的数据,但是不会影响其他同对象的数据。 静态对象和非静态对象都是对象,是对象都是要实例化的。不同之处就是2者的数据表现和存储方式不一样。 静态的好处: 引用方便。对于公用型的变量,直接用 名.静态方法名 或者 名.静态变量名就可引用并且直接可以修改其属性值,不用getter和setter方法。 保持数据的唯一性。此数据全局都是唯一的,修改他的任何一处地方,在程序所有使用到的地方都将会体现到这些数据的修改。 有效减少多余的浪费。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值