理解抽象:抽象如何在 Python 中工作?

已发表: 2023-04-08

Python 是使用最广泛的编程语言之一 借助抽象,Python 使用户可以更轻松地更高效地进行编程。 这个概念让用户只关注基本信息,隐藏多余的细节。

目录

什么是 Python 中的抽象?

抽象被定义为面向对象程序设计的核心概念。 它帮助您从用户那里封装类的实现数据。Python 中的抽象可以帮助您在不了解其内部工作方式的情况下与类进行交互。它是通过使用抽象接口和类来实现的。

Python 中的抽象进一步指的是通过向用户隐藏不需要的信息来管理复杂性。因此,简化了编码。 用户仅与类和函数的基本实现进行交互; 内部工作保持隐藏。

本质上,用户只知道该功能的用途; 他们不知道它是如何实现的。 请注意,抽象不能被实例化,即我们不能为抽象类创建对象。 它使您的代码更具可扩展性、可读性和可维护性。 此外,它避免了重复。 只关注主要概念有助于提高工作效率。

抽象如何在 Python 中工作?

抽象的关键作用是隐藏代码的内部工作。 交互是通过基本实现与用户完成的。 Python 中的抽象概念通过使用抽象类和方法来工作。

抽象类定义为代码中提到的具有抽象方法的类。 抽象方法没有任何实现; 所有的实现都在子类中执行。

Python 在初始化变量时使用自变量方法定义。 类方法提供有关类的信息。 此方法必须将 self 声明为参数以定义即时方法。

您可以通过真实场景轻松理解Python 中数据抽象的工作原理 当您在线购物时,您购买产品或将产品添加到购物车,然后付款。 但是,当您单击可用选项时,它们会在内部执行一些用户无法实现的功能。 用户只能看到所需的视图。 这是通过寻求分层分类的优势来进行抽象操作的地方,即,复杂的模块被分割成可管理的部分。

抽象在 Python 中的重要性

以下是抽象如何在 Python 中的不同函数中断言其重要性,以简化使用相关语言的编程运行。

  • Python 中的抽象有助于隐藏不相关的类/数据/过程,从而降低编码复杂度。
  • 它提高了应用程序的效率。
  • Python 中的抽象使用户能够创建易于适应的可扩展和灵活的函数。

抽象基类

在Python中,抽象基类是指多个子类的接口的公共应用程序。 简单来说,它可以作为其他类的蓝图。 第三方可以使用它从插件等实现中受益。

通过定义抽象基类,您可以为各种子类开发通用的应用程序编程接口 (API)。 当在庞大的团队中工作时,它是有益的,这样就不需要记住所有的类。 此外,第三方不必提供图书馆的所有课程。

如果您正在使用庞大的代码库并且发现很难记住所有类,则可以使用Python 中的数据抽象功能

从世界顶尖大学在线学习数据科学课程 获得执行 PG 课程、高级证书课程或硕士课程,以快速推进您的职业生涯。

抽象类的功能

与其他高级编程语言不同,Python 不提供自己的抽象类。 您可以使用 Python 的 ABC 方法,它提供了用于定义抽象基类 (ABC) 的基础和必要工具。 本质上,ABCs 提供了虚拟子类的特性。 它们是不从类继承属性的类,仍然可以通过

isinstance() 和 issubclass()。

以下模块可帮助您开发自己的 ABC。

从 abc 导入 ABC

MyABC 类(ABC):

经过

如上所述,ABC 模块提供了定义定义ABC 的元类,即ABCMeta,以及使用继承定义ABC 的辅助类ABC。此外,ABC 模块提供了@abstractmethod装饰器来表示抽象方法。 ABC 的定义使得@abstractmethod关键字在创建时修饰基类中的抽象方法。 此外,具体方法表示为基类的实现。

下面的Python 抽象示例可以帮助您更好地理解抽象类的功能。

探索我们的热门数据科学课程

IIITB 的数据科学执行研究生课程 商业决策数据科学专业证书课程 亚利桑那大学数据科学硕士
IIITB 的数据科学高级证书课程 马里兰大学数据科学和商业分析专业证书课程 数据科学课程

从 abc 导入 ABC,抽象方法

课程主题(ABC):

定义分数(自己):

经过

英语课(主题):

定义分数(自己):

print("分数是80")

数学课(主题):

定义分数(自己):

print("分数是75")

类科学(主题):

def分数(自己):

print("分数是85")

类文献(主题):

定义分数(自己):

print("分数是70")

e=英文()

e.score()

米=数学()

分数()

小号=科学()

分数()

l = 文献()

l.score()

输出:

分数是80

分数是75

分数是85

分数是70

下面我们来了解一下上面代码的实现。

我们导入了 ABC 模块来创建抽象基类。 Subject类继承了ABC类,定义了一个抽象方法score() 。接下来,我们从各个子类继承基类,并唯一实现了抽象方法。 创建对象(此处为主题名称)以调用抽象方法。 最后,每个主题的分数作为输出提供。

查看我们的免费数据科学课程,在竞争中脱颖而出。

Python 示例中的抽象:实际应用程序

1.网页抓取

Python 在现实世界中最好的应用之一是网络抓取。 它表明公司正在抓取大量数据以检索客户信息并做出具有成本效益的决策。 抽象概念仅显示所需信息,从而帮助公司轻松访问客户数据。 此外,在 Python 编程中使用 Selenium、PythonRequest 和 MechanicalSoup 等工具来开发 Web 抓取应用程序。

2. 机器学习与人工智能

我们可以考虑机器学习和人工智能领域中Python 示例中的抽象。 易于编码和易于理解抽象概念有助于 Python 处理开发机器学习模型所需的复杂计算。 Pandas、Keras、NumPy 等 Python 库对机器学习应用程序很有帮助。 此外,Python的抽象概念被用于各种人工智能解决方案,如图像识别、高级计算、数据处理等。

需要学习的顶级数据科学技能

需要学习的顶级数据科学技能
1个 数据分析课程 推理统计课程
2个 假设检验程序 逻辑回归课程
3个 线性回归课程 线性代数分析

3.桌面图形用户界面

Python 是一种开源、易学、平台无关且稳定的编程语言。 这些方面使 Python 适合创建桌面 GUI。 PyGUI、PyQt 和 WxPython 等工具被广泛用于高效开发高质量的 GUI。

阅读我们流行的数据科学文章

数据科学职业道路:综合职业指南 数据科学职业发展:工作的未来就在这里 为什么数据科学很重要? 数据科学为企业带来价值的 8 种方式
数据科学对管理者的相关性 每个数据科学家都应该拥有的终极数据科学备忘单 你应该成为数据科学家的 6 大理由
数据科学家的一天:他们做什么? 神话破灭:数据科学不需要编码 商业智能与数据科学:有什么区别?

4. 烹饪

如果您想用微波炉加热餐点,您可能需要按某些按钮来设置定时器和其他功能。 因此,您会得到一顿温暖可口的饭菜。 微波炉的内部工作和细节对您是隐藏的。 您只能访问外部功能来自定义烹饪时间和过程。

带走

Python 中的抽象通过将复杂性分布到更小的部分来简化处理复杂性的过程。 您可以在软件程序或项目中使用较小的部分,而无需了解它们的功能。 这个概念帮助程序员减少复杂的流程,提高整个工作的效率。

通过追求 upGrad 的Python 编程训练营,在您的数据科学职业生涯中达到成功的高度 该计划有助于在行业专家的带领下开展沉浸式课程,这些专家使用最新的工具和技术来彻底帮助初学者进行编码。

本课程传授 SQL 数据库编程、编程逻辑构建、重要 Python 语法以及使用 Pandas 和 NumPy 库在 Python 中进行数据库编程等高要求技能,可帮助您掌握 Python 编程的各个方面。 除了最前沿的课程外,upGrad 还提供了一些额外的好处,如现场互动课程、疑难解答会议、领先行业专家的指导、24/7 全天候学生支持等等!

问:Python 中的抽象和封装有什么区别?

Python 中的抽象用于隐藏内部细节并仅显示功能。 该过程为事物提供名称,以确保名称能够捕捉到函数或整个程序的基本概念。 另一方面,封装限制了对变量和方法的访问。 它将数据和程序包装在一个单元中,以避免它们被意外修改。

问:Python 中的抽象如何帮助您构建可重用代码?

在 Python 中,抽象过程向用户隐藏了实现细节。 它能够隐藏程序功能如何使您的代码更具可重用性的细节。 这意味着您可以在各种情况下以更通用的方式使用相同的代码,而不必担心它在相同的引擎盖下如何运行。 此外,Python 中的抽象使您的代码更易于阅读和理解。

问:Python 的抽象类支持哪些方法?

Python 中的抽象类可以同时支持 Python 中的抽象方法和具体方法。 抽象方法应该在派生类中实现。 具体方法在基类中实现。