You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中<__main__.dog object at 0x...>是什么?如何获取宠物名称?

问题解答

1. 输出的专业术语

你看到的这个输出是Python中对象的默认repr()表示,它由对象的__repr__特殊方法(默认实现)返回,用来标识对象的类型(如__main__.dog)和内存地址(如0x7fc51434c6a0),核心作用是给开发者提供对象的唯一身份标识信息。

2. 获取宠物的name属性

有两种实用方式:

  • 直接访问对象的name属性:
    print(dogs[0].name, cats[0].name)
    
    运行后会输出:steve simon
  • 给类自定义__str__或__repr__方法,让打印对象时自动显示name:
    class dog:
        def __init__(self,name):
            self.name = name
            dogs.append(self)
        def __str__(self):
            return self.name
    
    class cat:
        def __init__(self,name):
            self.name = name
            cats.append(self)
        def __str__(self):
            return self.name
    
    # 直接打印对象就会显示name
    print(dogs[0], cats[0])  # 输出:steve simon
    

3. 实现玩家购买宠物功能的思路

可以按以下步骤实现:

  • 定义玩家库存列表:player_inventory = []
  • 获取玩家输入的宠物名称:pet_name = input("请输入要购买的宠物名称:")
  • 在宠物列表中遍历查找对应对象并添加到库存:
    player_inventory = []
    
    def find_pet_by_name(name):
        # 合并猫狗列表遍历查找
        for pet in dogs + cats:
            if pet.name == name:
                return pet
        return None
    
    # 购买逻辑
    pet_name = input("请输入要购买的宠物名称:")
    target_pet = find_pet_by_name(pet_name)
    if target_pet:
        player_inventory.append(target_pet)
        print(f"已购买宠物:{target_pet.name}")
    else:
        print("该宠物不存在")
    

内容的提问来源于stack exchange,提问作者최승규

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 10:22:11