首页 > 其他分享 >羊 老虎 和饲养员 ;调用方法需要在方法名后面加上一对圆括号

羊 老虎 和饲养员 ;调用方法需要在方法名后面加上一对圆括号

时间:2023-07-24 11:24:55浏览次数:31  
标签:__ room 饲养员 self 圆括号 num animal ._ 方法

# 羊 老虎 饲养员
# 父类
import random


class Animal():
    # 属性
    def __init__(self,animal,w,call,food,room_num):
        self._animal = animal
        self._w = w
        self._call = call
        self._food = food
        self._room_num = room_num

    # 方法 获得体重
    def get_room(self):
        print(f'在第{self._room_num}个房间')
    # 方法 获得体重
    def get_w(self):
        print('---------')
        print(f'{self._animal}当前的体重是{self._w}')
    # 吃
    def eat(self,food):
        print(f'{self._animal}吃了{food},当前的体重是{self._w}')
    # 叫
    def call(self):
        print(f'{self._animal}叫了一声{self._call},当前的体重是{self._w}')
# 老虎类
class Tiger(Animal):
    # 属性  给父类赋值
    def __init__(self, room_num):
        super().__init__('tiger',200,'wow','meat',room_num)
# 羊类
class Sheep(Animal):
    # 属性  给父类赋值
    def __init__(self, room_num):
        super().__init__('sheep', 100, 'mie', 'grass', room_num)
# 饲养员类
class Keeper():
    # 属性
    def __init__(self):
        # 字典存{房间号,动物对象}
        self.rooms = {}
    # 方法
    def put_animal(self):
        # 10个动物放到10个房间 房间号 1到10
        for room_num in range(1,3):
            # 房间里可能是羊或老虎
            animal = random.choice([Tiger,Sheep])
            # 房间和动物对象 放入字典
            self.rooms[room_num] = animal(room_num)
    # 喂养
    def keep(self):
        for room_num,animal in self.rooms.items():
            animal.get_room()
            animal.get_w()
            animal.call()
            animal.eat(animal._food)
            animal.get_w()



# 实例化饲养员对象
k = Keeper()
k.put_animal()
k.keep()

 

标签:__,room,饲养员,self,圆括号,num,animal,._,方法
From: https://www.cnblogs.com/haha1988/p/17576745.html

相关文章

  • Navicat16.2.3永久试用方法(16.2.5也支持)
    navicat16.2.3无限试用bat脚本,将下面代码保存为bat文件,双击打开就可以实现试用重置。如果亲测有用,就点个赞同支持一下@echooffsetdn=Infosetdn2=ShellFoldersetrp=HKEY_CURRENT_USER\Software\Classes\CLSID::regdeleteHKEY_CURRENT_USER\Software\PremiumSoft\Na......
  • python打包方法
    在Python中,要编写setup.py文件,用于构建和打包你的Python项目,你可以遵循以下步骤:创建项目目录结构:首先,你需要创建项目的目录结构,包括源代码文件、资源文件等。一个常见的项目结构如下:project_name/|-project_name/|-__init__.py|-module1.py......
  • 数组去重方法总结(JavaScript 记录)
    在进行项目开发的时候,有时候需要把一些前端的数组进行去重处理,得到一个去重后的数据,然后再进行相关的操作,这也是在前端面试中经常出现的问题数组去重的多种方法:利用ES6Set去重利用for嵌套for,然后splice去重利用indexOf去重利用sort()去重利用对象的属性不能相......
  • Python【12】 字典的get()方法
    返回指定键的值。参考:https://www.runoob.com/python/att-dictionary-get.html......
  • Python【13】 字典的 items( ) 方法
    类似于字典转元组的效果,但又不完全是参考:https://www.runoob.com/python3/python3-att-dictionary-items.html......
  • Python【11】__getitem__ 魔术方法
    让方法能使用[key]返回值或做操作参考(侵删):https://blog.csdn.net/Norsaa/article/details/105564931......
  • java: 找不到符号 符号: 方法 findSql6(java.util.Map<java.lang.String,java.lan
    解决"java:找不到符号符号:方法findSql6(java.util.Map<java.lang.String,java.lan"错误作为经验丰富的开发者,当遇到编译错误时,我们需要仔细分析错误信息并采取相应的解决方法。在这个任务中,我们需要解决"java:找不到符号符号:方法findSql6(java.util.Map<java.lang.St......
  • MyBatis-Plus文件上传方法
    网站的文件上传方法本地存储上传//本地存储方式MultipartFile接受文件@PostMapping("/save")publicResultsave(Stringusername,Integerage,MultipartFileimage)throwsIOException{log.info("文件:{},{},{}",username,age,image);......
  • python数据加密与解密方法
    #-*-encoding:utf-8-*-"""@File:加密与解密.py@Time:2023-07-2310:02@Author:simon@Email:[email protected]@Software:PyCharm"""fromhashlibimportmd5importbase64#MD5加密obj=md5()str="你是个小可爱......
  • php获取用户真实ip地址的方法
    ​大家应该都有所体会,如果是做大型项目的话,比如做一个全国各地区的信息港网站,网站获取用户的本地信息就很关键了,比如58分类信息网,在用户访问的时候会自己判断用户所在地的信息,然后可以跳转到相应的分站上面,这样给用户的体验很好,而不是全国各地的用户全部都来访问北京站或者上海站......