为什么打印出来不是函数方法定义的格式呢?打印出来是(‘xiaoming’,'Male',90)

来源:4-2 Python类的__str__ 和 __repr__方法

shalomg

2021-02-19 12:05

class Student(object):

    def __init__(self, name, gender, score):

        self.name = name

        self.gender = gender

        self.score = score

        

    def __str__(self):

        return 'name is {}, gender is {}, score is {}'.format(self.name, self.gender, self.score)

        

    def __repr__(self):

        return 'name is {}, gender is {}, score is {}'.format(self.name, self.gender, self.score)

        

s = ('xiaoming','Male',90)

print(s)


写回答 关注

2回答

  • 慕码人9338021
    2021-02-23 11:32:35

    ?因为你是直接给s赋值,并没有调用Student函数啊

  • 老秃头了
    2021-02-20 19:49:29

    倒数第二句的问题吧。s=Student('xiaoming','Male'90)   最后的打印,显示给用户的打印方式: print(str(s))  ,显示给开发人员的就用  print(s) 打印就好。

Python3 进阶教程(新版)

学习函数式、模块和面向对象编程,掌握Python高级程序设计

41953 学习 · 236 问题

查看课程

相似问题