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面向对象的主要内容,如果未能解决你的问题,请参考以下文章

python之路之前没搞明白4面向对象(封装)

Python面向对象学习之八,装饰器

python:第二部分:面向对象:面向对象object orinted

面向面试编程代码片段之GC

Python 面向对象

面向对象编程其实很简单——Python 面向对象(初级篇)