RicardoM.Lu1 2023-01-06 14:17 采纳率: 80.6%
浏览 21
已结题

python的跨类调用问题

在学习python的跨类调用时遇到了一个问题
代码能运行但是输出的是内存地址
class Peason():
    def __init__(self, name):
        self.name = name

    def go_to(self, place, vehice):
        self.place = place
        self.vehice = vehice
        self.vehice.run()
        print(f"{self.name}驾驶{self.vehice.brand}{self.vehice}{self.place}")


class Car():
    def __init__(self, brand):
        self.brand = brand
    def run(self):
        print("行驶")


lz = Peason("老张")
car = Car("奔驰")

lz.go_to("东北", car)


行驶
老张驾驶奔驰<__main__.Car object at 0x7f8380dcdd90>去东北

暂时没有什么想法
我想通过参数去传递每次使用的交通工具也就是不想把使用的交通工具写死 并且能够正确输出结果而不是输出内存地址
  • 写回答

3条回答 默认 最新

  • CSDN专家-showbo 2023-01-06 14:23
    关注

    重写Car类的__str__方法

    
    class Car():
        def __init__(self, brand):
            self.brand = brand
        def run(self):
            print("行驶")
        def __str__(self):
            return self.brand
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月14日
  • 已采纳回答 1月6日
  • 创建了问题 1月6日