首页 > 编程语言 >Python3项目初始化5-->面向对象

Python3项目初始化5-->面向对象

时间:2022-08-16 22:36:28浏览次数:46  
标签:name get -- self drop def 面向对象 blood Python3

18、面向对象--类和实例属性
创建一个类
class PerSon(object):
    def __init__(self, name , age):
        self.name = name
        self.age = age

    def get_name(self):
        return self.name

    def set_name(self, name):
        self.name = name
kk = PerSon('kk', 30)
print(kk.get_name())
kk.set_name("huahua")
print(kk.get_name())

19、面向对象--类和实例方法
猫狗大战练习
#encoding:utf-8
import random
class Cat(object):
    def __init__(self, name, blood=100):
        self.name = name
        self.blood = blood
    def get_blood(self):
        return self.blood
    def drop_blood(self, drop):
        self.blood -= drop
    def attack(self, rival):
        drop = random.randint(0, 20)
        rival.drop_blood(drop)
class Dog(object):
    def __init__(self, name, blood=100):
        self.name = name
        self.blood = blood
    def get_blood(self):
        return self.blood
    def drop_blood(self, drop):
        self.blood -= drop
    def attack(self, rival):
        drop = random.randint(0, 20)
        rival.drop_blood(drop)
wangwang = Dog("wangwang")
miaomiao = Cat("miaomiao", 120)
while True:
    wangwang.attack(miaomiao)
    if miaomiao.get_blood() <= 0:
        print(wangwang.name + ' is win.')
        break
    miaomiao.attack(wangwang)
    if wangwang.get_blood() <= 0:
        print(miaomiao.name + 'is win..')
        break
F:\py3proj\07\cmdb\duixiang>python fire.py
Python代码运行页面,学习

20、面向对象--私有属性和继承

标签:name,get,--,self,drop,def,面向对象,blood,Python3
From: https://www.cnblogs.com/sunnyyangwang/p/16593266.html

相关文章

  • Java面试知识点总结
    基础篇一、什么是JavaJava是一门面向对象的高级编程语言,不仅吸收了C++语言的各种优点,比如继承了C++语言面向对象的技术核心。还摒弃了C++里难以理解的多继承、指针等概念......
  • JavaScript快速入门-02-基本语法
    2基本语法2.1JavaScript简介  JavaScript是一门解释型语言,其代码在客户端中执行前不需经过编译,而是直接由浏览器解释执行。主要用作客户端脚本语言,在浏览器中执行......
  • PHPExcel导出设置单元格格式
    找到相关文件PhpSpreadsheet/Style/NumberFormat.php  使用$spreadsheet->getActiveSheet()->getStyle('A')->getNumberFormat()->setFormatCode('@');//将A设置成......
  • 高并发之网络IO模型
    你好,我是坤哥今天我们聊一下高并发下的网络IO模型高并发即我们所说的C10K(一个server服务1w个client),C10M,写出高并发的程序相信是每个后端程序员的追求,高并发架构......
  • css 隐藏元素
    display,visibility仅会改变元素显示,不会改变元素种类。可以配合js使用使元素可以动态的显示隐藏。可以使用display或visibility实现html元素的隐藏功能,但......
  • 多线添加锁仍然锁不住,输出结果变少
    publicclassUnsafeList{publicstaticvoidmain(String[]args){List<String>list=newArrayList<>();for(inti=0;i<1000;i++){//用......
  • Let's Go系列---channel的用法及原理
    基本语法创建channelch1:=make(chanstruct{})ch2:=make(chanint,10)读写channel从channel中读取数据叫做recv;向channel写数据叫做send。//发送数据到channel......
  • 【鸟哥 Linux 10.5】数据流重导向
    【鸟哥Linux10.5】数据流重导向什么是数据流重导向?执行命令的时候会用标准输入读取必需数据,如果程序运行正确,使用标准输出输出结果,如果程序运行错误,使用标准错误输出......
  • mongo数据同步的三种方案
    (一)直接复制data目录(需要停止源和目标的mongo服务)1.针对目标mongo服务已经存在,并正在运行的(mongo2-->mongo)。执行步骤:(1).停止源/目标服务器的mongo服务。mongod--db......
  • mysql容器数据同步的一种方式
    同步操作流程1.找到MySQL的容器sudodockerps|grepmysql2.进入docker容器sudodockerexec-it容器idbash3.1.dump源端数据库(单个)mysqldump-hhost-Pport-utes......