0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解面向对象(二)

冬至配饺子 来源:多兰多 作者:Toranto 2022-08-18 15:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

__init__方法创建对象

__init__()

类构造方法:在创建类时,我们可以手动添加一个

__init__()

方法,该方法是一个特殊的类实例方法,称为构造方法(也叫初始化)。构造方法用于创建对象时使用,每当创建一个类的实例对象时,Python 解释器都会自动调用它。Python 类中,手动添加构造方法的语法格式如下:

poYBAGL94y6APdBKAAARO8RPZso472.png

注意,__init__,开头和结尾各有 2 个下划线,且中间不能有空格。Python 中很多这种以双下划线开头、双下划线结尾的方法,都具有特殊的意义。
如果__init__方法有参数的话:在实例化的时候除了self,其他的需要手动传递参数:

poYBAGL9412ARwhjAADcT2yTXqA265.png

init类构造方法归结起来就是谁调用赋值谁。

我们还可以给上面这段代码加点料,产生计数器的效果:

pYYBAGL9466AB4guAADapc5L070216.png

__dict__查看属性

使用__dict__,可以查看定义的类的属性(不包含公有属性),可以理解为公有属性是本身就具备的,而非后来定义。具体用法为:

print

(对象.__dict__)

poYBAGL94_KAJIlVAAAnGK_qVwY470.png

小实例

模仿英雄联盟(LOL)定义两个英雄类

要求:1、英雄有昵称、生命值、攻击力2、实例化出两个英雄对象3、英雄之间可以互殴,被打的一方掉血,血量小于0判断死亡

poYBAGL95CSAGBEzAAEAt-a-7bg539.pngpoYBAGL95CqAfO1yAAFw-StOBRA277.pngpYYBAGL95DOAbeRwAAAk_iQvuA4193.png

组合

在一个类中以另一个类的对象作为数据属性,称为类的组合。

例如:

有一个士兵类

属性:姓名,武器

枪火类

属性:名称,子弹数量,杀伤力

方法:开火,装弹

pYYBAGL95FuAV__CAAEBco9KKkc600.pngpoYBAGL95GKAc98KAABnZnZtlJM874.png

第40行就是组合。




审核编辑:刘清


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计数器
    +关注

    关注

    32

    文章

    2321

    浏览量

    98547
  • python
    +关注

    关注

    58

    文章

    4885

    浏览量

    90302
  • 解释器
    +关注

    关注

    0

    文章

    103

    浏览量

    7021
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    BZX84WCx 齐纳电压调节器极管:特性、应用与参数详解

    BZX84WCx 齐纳电压调节器极管:特性、应用与参数详解 在电子设计领域,电压调节和过压保护是至关重要的环节。德州仪器(TI)的 BZX84WCx 系列齐纳电压调节器极管,以其出色的性能和广泛
    的头像 发表于 02-25 10:05 240次阅读

    详解MAX16141A:3.5V - 36V理想极管控制器

    详解MAX16141/MAX16141A:3.5V - 36V理想极管控制器 作为一名电子工程师,在设计硬件电路时,电源管理和系统保护是至关重要的环节。今天就来和大家详细介绍一下Analog
    的头像 发表于 02-06 15:50 232次阅读

    芯原入选国家知识产权示范企业创建对象

    1月12日,国家知识产权局公示了“2025-2027年国家知识产权强国建设示范创建对象”的评审结果,芯原微电子 (上海) 股份有限公司凭借其在知识产权创造、运用、管理和保护方面的扎实基础与突出成效,成功入选“国家知识产权示范企业创建对象”,这标志着公司知识产权工作获得了国
    的头像 发表于 01-27 15:28 337次阅读

    工厂人员定位工卡从部署实施、典型应用、成本与ROI分析等详解

    本文详解工厂人员定位工卡的部署实施、典型应用与成本ROI。涵盖UWB/蓝牙/RFID融合技术的安装流程、化工等高危场景应用案例,实现精准定位、电子围栏报警、快速救援,提升安全与管理效率,并提供硬件、软件及文档交付清单,助力企业高效落地。
    的头像 发表于 12-24 16:27 1197次阅读

    C语言与C++的区别及联系

    class等面向对象的特性和机制。但是,后来经过一步步修订和很多次演变,最终才形成了现如今这个支持一系列重大特性的庞大编程语言。 一、C语言是面向过程语言,而C++是面向
    发表于 12-24 07:23

    canopen如何通过对象字典控制外设?

    各位大佬好,我在移植canopen的时候碰到一个疑问。比如我修改对象字典2000,子索引为0这个目录下的值,如何这个对象映射的是某个led灯的亮灭,输入1为亮,0为灭。 问题就是我发送报文之后会进入
    发表于 09-11 06:04

    NVIDIA Jetson + Isaac SDK 在人形机器人领域的方案详解

    NVIDIA Jetson + Isaac SDK 在人形机器人领域的 方案详解 ,涵盖芯片型号、软件平台、开发工具链、应用场景与典型客户等。 一、方案概述:Jetson + Isaac SDK
    的头像 发表于 07-30 16:05 3923次阅读

    半导体分立器件测试的对象与分类、测试参数,测试设备的分类与测试能力

    半导体分立器件测试是对极管、晶体管、晶闸管等独立功能半导体器件的性能参数进行系统性检测的过程,旨在评估其电气特性、可靠性和适用性。以下是主要测试内容与方法的总结: 1. ‌ 测试对象与分类
    的头像 发表于 07-22 17:46 1211次阅读
    半导体分立器件测试的<b class='flag-5'>对象</b>与分类、测试参数,测试设备的分类与测试能力

    【HarmonyOS 5】鸿蒙中的UIAbility详解

    【HarmonyOS 5】鸿蒙中的UIAbility详解) ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、前言 今天我们继续深入讲解
    的头像 发表于 07-11 18:17 1030次阅读
    【HarmonyOS 5】鸿蒙中的UIAbility<b class='flag-5'>详解</b>(<b class='flag-5'>二</b>)

    达梦数据库常用管理SQL命令详解

    达梦数据库常用管理SQL命令详解
    的头像 发表于 06-17 15:12 7640次阅读
    达梦数据库常用管理SQL命令<b class='flag-5'>详解</b>

    HarmonyOS 5 makeObserved接口详解

    【HarmonyOS 5】makeObserved接口详解 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、makeObserved接口
    的头像 发表于 06-16 17:58 803次阅读

    【HarmonyOS 5】鸿蒙中的UIAbility详解(三)

    详解系列的最终章。主要针对UIAbility的冷启动和热启动,对于want数据的处理。UIAbility的备份恢复,UIAbility的接续等高级功能的概念和使用讲解。 、UIAbility启动模式
    的头像 发表于 06-14 22:32 882次阅读

    安徽京准:北斗卫星同步时钟的安装与调试详解

    安徽京准:北斗卫星同步时钟的安装与调试详解
    的头像 发表于 06-05 10:08 1738次阅读
    安徽京准:北斗卫星同步时钟的安装与调试<b class='flag-5'>详解</b>

    SSH常用命令详解

    SSH常用命令详解
    的头像 发表于 06-04 11:30 2183次阅读

    从 Java 到 Go:面向对象的巨人与云原生的轻骑兵

    不同,Go 通过编译为 单一静态进制文件实现快速启动和低内存开销 , 以25个关键字强制代码简洁性 , 用接口组合替代类继承 , 以显式返回error取代异常机制 和 轻量级并发模型
    的头像 发表于 04-25 11:13 749次阅读