Python----一个对象的属性可以是另外一个类型创建的对象_python 一个对象的属性是另一个对象list-程序员宅基地

技术标签: python  对象  Python  

士兵的例子

class Gun:
    def __init__(self, model):

        # 1. 枪的型号
        self.model = model

        # 2. 子弹的数量
        self.bullet_count = 0

    def add_bullet(self, count):

        self.bullet_count += count

    def shoot(self):

        # 1. 判断字弹的数量
        if self.bullet_count <= 0:
            print("[%s] 没有字弹了..." % self.model)
            return

        # 2. 发射子弹
        self.bullet_count -= 1

        # 3. 提示发射信息
        print("[%s] 突突突...子弹有: [%d]" % (self.model, self.bullet_count))

创建枪对象

ak47 = Gun(‘ak47’)
ak47.add_bullet(30)
ak47.shoot()
ak47.shoot()

class Soldier:
    def __init__(self, name):
        self.name = name
        self.gun = None    # 私有

    def fire(self):
        # 1. 判断士兵是否有枪
        if self.gun is None:   # 身份运算符(is) 可以替换(==)
            print("[%s] 还没有枪..." % self.name)
            return

        # 2. 口号
        print("冲啊... [%s]" % self.name)

        # 3. 装子弹
        self.gun.add_bullet(30)

        # 4. 发射子弹
        self.gun.shoot()

创建一个士兵

jack = Soldier(“jack”)
jack.gun = ak47
jack.fire()
print(jack.gun)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/damys/article/details/78497689

智能推荐

UE4窗口模式切换,修改窗口大小_preferredfullscreenmode-程序员宅基地

文章浏览阅读1.3w次,点赞4次,收藏9次。在UE4工程目录下找到与Content文件夹同级别的Save文件夹。在Saved/Config/Windows文件夹中,将GameUserSettings.ini拷贝到打包后的文件路径:WindowsNoEditor/项目名/Save/Config/WindowsNoEditor文件夹中(这个文件夹只有打包后的.exe文件运行过一次才会出现)。该文件内容如下:[/Script/Engine..._preferredfullscreenmode

大数据如何进行测试_大数据测试怎么测-程序员宅基地

文章浏览阅读6.5k次,点赞6次,收藏79次。大数据测试通常是指对采用大数据技术的系统或者应用的测试。大数据测试可以分成两个维度,一个维度是数据测试,另一个维度是大数据系统测试和大数据应用产品测试。大数据测试和传统数据测试的不同对比项大数据测试传统数据测试数据量级需要处理的数据量级较高设计的数据量级较低数据结构处理的数据包括结构化数据、非结构化数据、和半结构化数据以结构化数据为主验证工作验证环节多,数据量大,较复杂抽取数据来验证,相对简单环境要求依赖HDFS、YARN和Zookeeper等集群环境依赖传统数据库测试工具。_大数据测试怎么测

java毕业设计——基于JSP+sqlserver的教师档案管理系统设计与实现(毕业论文+程序源码)——教师档案管理系统_教师档案管理系统一般对谁开放,谁可以修改里边的数据-程序员宅基地

文章浏览阅读577次。教师档案管理系统是一个典型的高校档案管理系统,其开发过程主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求其应用程序具有功能完备,易使用等特点。经过分析,我们以B/S为开发模式,运用JSP(JAVA SERVER PAGES)和JAVA编程语言,以SQL Server 、 DREAMWEAVER、TOMCAT和EDITPLUS为开发平台,开发出了一个教师档案管理系统。_教师档案管理系统一般对谁开放,谁可以修改里边的数据

QTreeWidget与QStackedWidget的关联操作_通过qtreeviewt切换stackedwidget的页面-程序员宅基地

文章浏览阅读1.4k次,点赞8次,收藏23次。QTreeWidget与QStackedWidget的关联通过点击QTreeWidget来控制QStackedWidget中的page页面切换QTreeWidget有一点击的槽函数void MainWindow::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column){ //QTreeWidgetItem *item=item; if(item->text(column)=="学生管理") { _通过qtreeviewt切换stackedwidget的页面

【踩坑记录】Sharding-JDBC(4.0.0)之单库分表_org.springframework.transaction.transactionsysteme-程序员宅基地

文章浏览阅读4.3k次,点赞2次,收藏3次。背景之前由于有分表的需求,使用了sharding-jdbc,版本是3.0.0。前几天有一波高并发的调用,发现sharding-jdbc内部有报错(具体信息如下),也没有查出来具体的原因,盲猜使用升级大法,升到了4.0.0-RC1。变化还是有一些的,来记录一下4.0.0版本的配置。org.springframework.transaction.TransactionSystemException: Could not roll back JDBC transaction; nested except_org.springframework.transaction.transactionsystemexception: could not roll b

soap toolkit 3.0_soaptoolkit30-程序员宅基地

文章浏览阅读2.1k次。1、下载SoapToolkit3.0: win2000server 打上sp4补丁http://download.microsoft.com/download/2/e/0/2e068a11-9ef7-45f5-820f-89573d7c4939/soapsdk.exe 2、SoapToolkit3.0的使用例子: http://download.micro_soaptoolkit30

随便推点

数据中心运维管理系统让你玩转数据中心!_运维管理中心-程序员宅基地

文章浏览阅读875次。数据中心运维管理系统是一款简单易用的数据中心日常运维活动的管理软件。规范管理运维团队以及服务流程,保障数据中心业务高可靠运行,让您彻底告别excel和纸质工单的传统管理方式,进入电子化、规范化的高效运维时代。  在云大行其道的今天,随着数据中心建设规模的不断扩大,新技术的层出不穷,数据中心变得越来越复杂。其运维工作需要具备方方面面的知识,包括硬件、网络、服务器、存储、安全以及业务上的东西,需要一..._运维管理中心

SAP WebIDE的本地安装方式_sap web ide 本地安装-程序员宅基地

文章浏览阅读4.7k次。# Created by Jerry Wang, last modified on Jun 02, 20151. https://store.sap.com/ 下载安装文件:![clipboard1](https://user-images.githubusercontent.com/5669954/27470901-38a99006-57f6-11e7-8c0e-57f5cbf86e..._sap web ide 本地安装

Android okHttp-Post的提交数据方式_requestbody.create(mediatype.parse("text/plain"), -程序员宅基地

文章浏览阅读389次。说明:学习记录HTTP content-type 对照表:https://www.runoob.com/http/http-content-type.htmlpost上传多个文件 //post上传多个文件 @Test public void uploadFileUnitTest() throws IOException { OkHttpClient okHttpClient = new OkHttpClient(); File file1 _requestbody.create(mediatype.parse("text/plain"), file))

ntp 4.2.6p5版本漏洞详细_ntp漏洞-程序员宅基地

文章浏览阅读2.3k次。1. NTP CRYPTO_ASSOC 内存泄漏导致拒绝服务漏洞 (CVE-2015-7701) 2. NTPD 栈缓冲区溢出漏洞(CVE-2014-9295) 3. NTPD PRNG无效熵漏洞(CVE-2014-9293) 4. NTPD PRNG弱加密漏洞(CVE-2014-9294) 5. NTP 身份验证绕过漏洞(CVE-2015-7871) 6. NTP Kiss-o'-Death拒绝服务漏洞 (CV..._ntp漏洞

PCB : 基础知识:顶层焊盘,顶覆盖层丝印,通孔安装,导线规则,敷铜,裁剪板子_pcb先画顶层丝印还是底层-程序员宅基地

文章浏览阅读1.4k次。.LOGPCB 单层板:一面有铜,另一面焊接,绝缘覆铜板,印刷,蚀刻,钻孔,裁剪双层板:两面都有铜,两面都可以布线,不同线通过过孔链接来替代单层板的飞线多层板:4层板在顶层和底层加入了,电源层和接地层,可以解决电磁干扰层 信号层signal 放元器件和铜导线,内部电源接地层 铺设电源和地,由铜膜构成,可提高抗EMI和稳定性机械层mechanical 说明性标注,尺寸,焊盘pad过孔..._pcb先画顶层丝印还是底层

深度认识Cookie_cookie路径是什么意思-程序员宅基地

文章浏览阅读281次。Cookie、Session的理解什么是Cookie二级目录三级目录什么是Cookie二级目录三级目录_cookie路径是什么意思

推荐文章

热门文章

相关标签