为了账号安全,请及时绑定邮箱和手机立即绑定

突发奇想,想真么写,但是为什么X打印不出来呢

# Enter a code

class Person(object):

    def __init__(self, name, gender):

        self.name = name

        self.gender = gender


class Student(Person):

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

        super(Student, self).__init__(name, gender)

        self.score = score


class Teacher(Person):

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

        super(Teacher, self).__init__(name, gender)

        self.course = course


p = Person('Tim', 'Male')

s = Student('Bob', 'Male', 88)

t = Teacher('Alice', 'Female', 'English')

for x in (Student,object,Teacher):

    if isinstance(t,x) == False:

        continue

    else:

        print('T is {}'.format(x))

    


正在回答

2 回答

改成

print('T is {}'.format(t.name))


0 回复 有任何疑惑可以回复我~
#1

慕粉2153274993

这样就是T is Alice了哈哈哈
2021-07-25 回复 有任何疑惑可以回复我~

代码没错,里面运行不出来是因为py版本比较老,去pycharm就出来了

0 回复 有任何疑惑可以回复我~
#1

o0牛魔王0o 提问者

T is <class 'object'> T is <class '__main__.Teacher'> 结果是这个
2021-03-29 回复 有任何疑惑可以回复我~
#2

幕布斯9526405 回复 o0牛魔王0o 提问者

<class 'object'>指的就是object这个类,另外一个指的就是teacher这个类,只是他输出不是单纯的object或者teacher,可能是因为在这里这个x本身并不是字符串,而是类名
2021-03-31 回复 有任何疑惑可以回复我~
#3

o0牛魔王0o 提问者 回复 幕布斯9526405

那应该怎么改才能输出字符串呢
2021-04-01 回复 有任何疑惑可以回复我~
#4

慕粉2153274993 回复 o0牛魔王0o 提问者

建议暴力实现
2021-07-25 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

突发奇想,想真么写,但是为什么X打印不出来呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信