python面向对象编程:类的方法如何自定义

2022-07-3021:33:18网站建设与开发Comments1,296 views字数 1971阅读模式

使用类的时候经常要自己定义方法,这一节我们就来介绍一下如何自定义方法,关于类中定义的方法,我们可以继续以教室为例,当我们定义了一间教室,这间教室里可以学习语文、数学和英语,那么当一个学生到了这个班级里之后,也就具备了在这个教室学习语文数学和英语的能力,有课外兴趣的也可以根据自己的选择去其他学科的知识,通过这个例子我们来进行这一节的学习。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

首先我们需要定义一个类:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

1
2
3
4
5
6
class Study:
    def __init__(self):
        print('在这个班级必须学习语文')
        print('在这个班级必须学习数学')
        print('在这个班级必须学习英语')
lihua = Study()#使用Study这个类,然后就可以使用其中的方法

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

1
2
3
在这个班级必须学习语文
在这个班级必须学习数学
在这个班级必须学习英语

这是我们关于类的最简使用方式,通过创建一个类,然后在类中创建了几个方法,通过调用类之后直接使用类中的方法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

如果想要添加一个学习其他学科的功能,我们需要在类中先添加一个方法:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

1
2
def study_others(self,others):
    print('在这个班级可以学习%s'%others)

然后使用的时候注意参数的传递。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

1
lihua.study_others('历史')

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

1
在这个班级可以学习历史中

下面我们通过例子来进一步了解构造方法和自定义方法的结合。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

我们在图书馆借阅书籍的时候一般是通过个人信息来存储我们的借还记录。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

看下面的例子:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

1
2
3
4
5
6
7
8
9
10
11
12
class Library:
    def __init__(self,name,id,age):
            self.name = name
            self.id = id
            self.age =age
    def borrow(self,bookname):
            self.bookname = bookname
            print('%s借阅了书籍--%s'%(self.name,self.bookname))
            print('借阅者学号为%d,年龄为%s'%(self.id,self.age))
                        print('借书成功!')
xiaoming = Library('小明',1001,20)
xiaoming.borrow('Python教程')

输出结果为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

1
2
3
小明借阅了书籍--Python教程
借阅者学号为1001,年龄为20
借书成功!

从上面的例子中我们来分析一下,我们首先在init方法中定义了3个参数,分别为姓名、学号和年龄,因此我们在使用这个类方法的时候,传递了三个实际参数,然后xiaoming就已经调用了这个类。因为init方法是初始构造方法,因此在borrow方法中可以直接使用init中的数据,当xiaoming使用借书方法的时候,调用了构造方法中的信息完成借书操作。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

我们再通过一个例子来加深一下对该方法的理解。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

书店里有一百本Python学习教程,如果有人买了一本那么该书就少了一本,书店老板会时不时的订购这本书,一次订购十本。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

代码如下:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class BookStore:
    def __init__(self,bookname,bookcount):
        self.bookname = bookname
        self.bookcount = bookcount
    def sell(self):
        self.bookcount -= 1
        print('%s现在有%s本'%(self.bookname,self.bookcount))
    def buy(self):
        self.bookcount += 10
        print('%s现在有%s本' % (self.bookname, self.bookcount))
own = BookStore('Python学习教程',100)
own.sell()
own.sell()
own.buy()
own.sell()

输出结构为:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

1
2
3
4
Python学习教程现在有99
Python学习教程现在有98
Python学习教程现在有108
Python学习教程现在有107

在上面的例子中,构造方法中定义了书的名字和书的数量,然后在下面定义了卖书和买书的方法,然后我们使用own调用了BookStore类,然后再通过类中的方法实现卖书和买书的操作。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/26220.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/cms/26220.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定