面向对象编程——Python中的类

2024-01-18 19:34:13 浏览数 (2)

Python是一门面向对象编程语言,其中类这个概念是其重点,那么我们如何理解类呢,以下是我的学习心得(如有错误欢迎指正,会随着学习过程而更新。)

首先是类格式

class 类名,如图:

代码语言:javascript复制
class Book:

接下来是类中的方法:

代码语言:javascript复制
class Book:
    def __init__(self):

__init__初始化函数:当我们使用类中的方法时,我们可能需要传入某些参数,有可能几个方法用到了同一些参数,当类中的方法很多的时候,反复传递这些重复的参数就显得有些麻烦了,而__init__初始化函数就等于将这个类中通用的参数初始化,我们只需传递一次参数,

之后类中如果有方法要调用这些参数,只需要进行self初始化即可:

代码语言:javascript复制
class Book:
    def __init__(self, name, writer):
        self.name = name
        self.writer = writer
        
    def lend(self):
        print("我想要借{}这本书。".format(self.name))
    
    def ask(self):
        print("这本书的作者是{}".format(self.writer))

创建实例,通过我们定义的类,我们可以创建一个具体的实例,然后对这个实例调用相应方法:

代码语言:javascript复制
class Book:
    def __init__(self, name, writer):
        self.name = name
        self.writer = writer
        
    def lend(self):
        print("我想要借{}这本书。".format(self.name))
    
    def ask(self):
        print("这本书的作者是{}".format(self.writer))

book1 = Book('The Old Man and the Sea','hemingway')
book1.lend()
book1.ask()
代码语言:javascript复制
我想要借The Old Man and the Sea这本书。
这本书的作者是hemingway

对于某些方法中特有的参数,我们只需要在类方法定义时加入形参:

代码语言:javascript复制
​
def ask(self, time):
        print("这本书的作者是{}".format(self.writer))
​        print("这本书是{}年出版的".format(time))

然后在方法调用时传入相应参数即可:

代码语言:javascript复制
book1.ask(1951)
代码语言:javascript复制
这本书的作者是hemingway
这本书是1951年出版的

有问题欢迎提问,有错误欢迎指正,共勉。

0 人点赞