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

简介: 面向对象编程——Python中的类

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

首先是类格式

class + 类名,如图:

class Book:

接下来是类中的方法:

class Book:
    def __init__(self):

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

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

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))

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

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()
我想要借The Old Man and the Sea这本书。
这本书的作者是hemingway

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

def ask(self, time):
        print("这本书的作者是{}".format(self.writer))
        print("这本书是{}年出版的".format(time))

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

book1.ask(1951)
这本书的作者是hemingway
这本书是1951年出版的

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

相关文章
|
6天前
|
Python
【Python进阶(三)】——面向对象编程
【Python进阶(三)】——面向对象编程
|
5天前
|
Python
Python-类视图和蓝图
Python-类视图和蓝图
11 2
|
5天前
|
存储 Java 数据安全/隐私保护
Python----类对象和实例对象
Python----类对象和实例对象
9 2
|
6天前
|
C++ Python
Python中的类与对象
Python中的类与对象
8 1
|
6天前
|
Python
在Python中,类的属性可以分为公有属性和私有属性
【5月更文挑战第7天】Python类包含公有和私有属性。公有属性可直接外部访问,如`person.name`,而私有属性如`_name`需通过getter/setter方法访问,如`person.getName()`和`person.setName()`。私有属性用于封装数据、隐藏实现细节,增强代码可维护性和安全性。封装能灵活修改内部实现,不影响外部;安全性防止外部非法修改数据;一致性确保所有数据操作在类内完成,简化代码并减少错误。
28 10
|
6天前
|
Python
【Python 基础】Python中的实例方法、静态方法和类方法有什么区别?
【5月更文挑战第6天】【Python 基础】Python中的实例方法、静态方法和类方法有什么区别?
|
6天前
|
存储 程序员 Python
Python中自定义类实例化数组的艺术
Python中自定义类实例化数组的艺术
11 1
|
6天前
|
程序员 Linux C++
Python中的WinForms类桌面应用程序开发
Python中的WinForms类桌面应用程序开发
25 4
|
6天前
|
Java 开发者 索引
Python基础语法:类笔记
本篇博文是把自己在学习python类的过程中自己理解和笔记,一点一点总结的写出出来,做一个总结,加深对面向对象编程的理解。
|
6天前
|
数据可视化 索引 Python
数据分享|Python用PyMC3贝叶斯模型平均BMA:采样、信息准则比较和预测可视化灵长类动物的乳汁成分数据
数据分享|Python用PyMC3贝叶斯模型平均BMA:采样、信息准则比较和预测可视化灵长类动物的乳汁成分数据