python面向对象
Posted sellsa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python面向对象相关的知识,希望对你有一定的参考价值。
定义类
创建一个bank.py,为账户创建一个专用类,拥有专用属性,然后让存储、提款等函数专属于这个账户类的实例
在python中可以使用class来创建一个专用类
#定义Account类 class Account: pass def account(name, number, balance): #创建acct实例,并设置相关属性 acct = Account() acct.name = name acct.number = number acct.balance = balance return acct def deposit(acct, amount): if amount <= 0: print(‘存款金额不得为负‘) else: acct.balance += amount def withdraw(acct, amount): if amount > acct.balance: print(‘余额不足‘) else: acct.balance -= amount def desc(acct): return "Account(‘{name}‘, ‘{number}‘, ‘{balance}‘)".format( name = acct.name, number = acct.number, balance = acct.balance ) if __name__ == ‘__main__‘: #创建账户,1000 myacct = account(‘heboan‘, ‘1234-567‘, 1000) #存款200 deposit(myacct, 200) #取款500 withdraw(myacct, 500) #查看账户详情 print(desc(myacct))
虽然我们定义了Account类作为账户的专用类,然而account()、deposit()、withdraw()、desc函数却是在其他地方定义,明明它们都是与Account实例相关的操作,将相关的操作放在一起是设计时的一个基本原则,面向对象更是如此。
定义__init__()方法
account()函数,它定义了如何创建实例,以及实例创建后的相关属性设置,这是每个Account实例都要经历的初始化流程,可以将初始化流程使用__init__方法定义在类中
class Account: def __init__(self, name, number, balance): self.name = name self.number = number self.balance = balance
以上是关于python面向对象的主要内容,如果未能解决你的问题,请参考以下文章