iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中类的相互调用的实践
  • 164
分享到

python中类的相互调用的实践

python类的相互调用python类调用 2023-02-15 09:02:25 164人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录模块内部类的调用跨模块类的调用在 python 中,类可以相互调用。这意味着一个类可以访问另一个类的方法或属性。下面是几个例子: 模块内部类的调用 在同一个文件内,不同类的相互调

python 中,类可以相互调用。这意味着一个类可以访问另一个类的方法或属性。下面是几个例子:

模块内部类的调用

在同一个文件内,不同类的相互调用例子如下:

代码

class Car:
    def __init__(self, make, model):
        self.make = make
        self.model = model
 
class Dealership:
    def __init__(self, name):
        self.name = name
        self.cars = []
 
    def add_car(self, make, model):
        new_car = Car(make, model)
        self.cars.append(new_car)
 
    def show_inventory(self):
        for car in self.cars:
            print(car.make, car.model)
 
dealership = Dealership("ABC Motors")
dealership.add_car("Toyota", "Camry")
dealership.add_car("Honda", "Civic")
dealership.show_inventory()

在上面的代码中,Dealership 类调用了 Car 类。它通过创建一个 Car 对象来添加汽车,并通过循环遍历汽车列表来显示汽车的目录。这个例子说明了在 Python 中如何在一个类中调用另一个类。

运行结果

Toyota Camry
Honda Civic

跨模块类的调用

跨文件类的相互调用是指在不同的.py文件中定义的两个或多个类之间的相互调用。

步骤

要实现跨文件类的相互调用,需要遵循如下步骤:

  • 将需要被调用的类定义在一个单独的.py文件中,这个文件称为模块。
  • 在另一个文件中,使用import语句导入该模块。
  • 在当前文件中使用该模块中定义的类时,需要使用模块名加点号进行引用。例如,如果在module.py文件中定义了一个类MyClass,那么在另一个文件中使用该类时可以这样写:module.MyClass()。

实际应用场景:如果您的项目中有很多个类,并且每个类都有很多方法,那么您可以把每个类放到一个单独的模块中,以减少代码的冗余,并使代码结构更清晰易懂。

代码

文件1(module1.py)

class ClassA:
    def __init__(self):
        self.name = 'ClassA'
 
    def greet(self):
        return 'Hello from ' + self.name

文件2(module2.py):

from module1 import ClassA
 
class ClassB:
    def __init__(self):
        self.name = 'ClassB'
 
    def greet(self):
        return 'Hello from ' + self.name
 
    def call_class_a(self):
        a = ClassA()
        return a.greet()

在程序的主文件中,可以通过下面的方式使用这两个类:

from module2 import ClassB
 
b = ClassB()
print(b.greet())
print(b.call_class_a())

从上面的代码可以看出,ClassB对象通过调用call_class_a方法,获取了ClassA的实例,并调用了它的greet方法。这就是跨文件类的相互调用的一个简单示例。

运行结果

Hello from ClassB
Hello from ClassA

到此这篇关于python中类的相互调用的实践的文章就介绍到这了,更多相关python类的相互调用内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python中类的相互调用的实践

本文链接: https://www.lsjlt.com/news/196113.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python中类的相互调用的实践
    目录模块内部类的调用跨模块类的调用在 Python 中,类可以相互调用。这意味着一个类可以访问另一个类的方法或属性。下面是几个例子: 模块内部类的调用 在同一个文件内,不同类的相互调...
    99+
    2023-02-15
    python类的相互调用 python类调用
  • perl和python的相互调用
    从实用角度出发,并未付诸于解释(有时间后期补充)。程序内容直接复制到文件,即可使用。 注意perl调用python路径在相同目录下; python调...
    99+
    2023-01-31
    perl python
  • python 与c++相互调用实现
    目录一、c++调用Python1.Python脚本2.C++调用python脚本二、接口方法1.规范化语法三、Pthon调用c++1.基于extern2.基于swig一、c++调用P...
    99+
    2024-04-02
  • OC与Swift的相互调用
    OC调用Swift方法 在 Build Settings 搜索 Packaging ,设置 Defines Module 为 YES  2、新建 LottieBridge.swift 文件,自动生成桥 ProductName-Bridgi...
    99+
    2023-09-15
    swift oc 混编 iOS
  • 如何实现springboot中controller之间的相互调用
    springboot controller之间相互调用 SpringBoot之间内部调用 @Autowired private RestTemplate restTemplat...
    99+
    2024-04-02
  • Python和java 如何相互调用
    目录1.Java调用Python的函数2.在java中调用本机python脚本中的函数3.使用java直接执行python脚本1.Java调用Python的函数 在java类中直接执...
    99+
    2024-04-02
  • python中str与int类型的相互转换
    python中str与int类型的相互转换 1. str转换成int 方法:使用int()函数 # python中str转换成int a='12' b=int(a) # 转换成1...
    99+
    2023-10-11
    python
  • java同一个包下的类怎么互相调用
    在同一个包下的类可以直接互相调用,不需要使用任何关键字或语法来指明调用关系。只需在需要调用的方法前面加上类名即可。例如,假设有两个类...
    99+
    2023-08-20
    java
  • Kotlin与Java相互调用的完整实例
    目录一、Kotlin 调用 Java二、Java 调用 Kotlin附 Github 源码:总结一、Kotlin 调用 Java 1. kotlin 关键字转义 java 中的方法或...
    99+
    2024-04-02
  • python文件互相调用的方法是什么
    在Python中,文件之间可以互相调用的方法有以下几种:1. 使用import语句:可以在一个文件中使用import语句导入另一个文...
    99+
    2023-09-25
    python
  • Android与JS相互调用的方法
    目录Android调用js的方法实现是引入一个webview用webview打开一个页面调取的JS函数。下面是JS同Android的通信,JS调用Android的函数方法。Andro...
    99+
    2024-04-02
  • 多个python文件怎么相互调用
    在Python中,如果想要在多个文件之间相互调用,可以使用以下方法:1. 使用import语句:- 如果要在一个Python文件中调...
    99+
    2023-10-19
    python
  • Python与C之间的相互调用(Python C API及Python ctypes库)
    问题,需要实现全局快捷键,但是是事实上Qt并没有对全局快捷键提供支持,那么用Qt的话就只能通过Win32Api来完成了,而我,用的是PyQt,还需要用Python来调用win32 API,事实上,都没有什么难的。因为Python如此的流行,...
    99+
    2023-06-05
  • C#实现子类与父类的相互转换
    目录子类与父类的相互转换例一例二子类父类之间相互转换的问题父类:动物类(Animal)子类:狗类(Dog)子类与父类的相互转换 1.父类不能直接强制转换成子类 2.子类可以强制转换成...
    99+
    2024-04-02
  • C++实现与Lua相互调用的示例详解
    目录概述示例C++调用lua编译lua流程运行lua调用C++解释运行调用语义概述 从本质上来看,其实说是不存在所谓的C++与lua的相互调用。lua是运行在C上的,简单来说lua的...
    99+
    2023-05-13
    C++ Lua相互调用 C++ Lua 调用 C++ Lua
  • python中CURL和pythonrequests的相互转换实现
    目录将 curl 转换为 Python requests将 Python 请求转换为 curlcurl 和 Python requests 都是发送 HTTP 请求的强大工具。 虽然...
    99+
    2023-03-14
    python中CURL requests相互转换 python CURL 转换 requests
  • Java代码中与Lua相互调用实现详解
    目录一、方案二、性能测试1. ScriptEngine调用方式2. Globals调用方式3. lua调用java三、结论四、其他调用方式?一、方案 Java与Lua相互调用案例比较...
    99+
    2024-04-02
  • 怎么实现C#与Lua相互调用
    这篇文章主要介绍“怎么实现C#与Lua相互调用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么实现C#与Lua相互调用”文章能帮助大家解决问题。一、编译Lua动态链接库1. 编译Windows下使...
    99+
    2023-06-30
  • C++如何实现与Lua相互调用
    今天小编给大家分享一下C++如何实现与Lua相互调用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。概述从本质上来看,其实说是...
    99+
    2023-07-05
  • java中map与实体类的相互转换操作
    java中map与实体类的相互转换 1. 在 pom.xml 中引入依赖包 <dependency> <groupId>com.alibaba&l...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作