Python 在一行中顺序调用对象的多个属性?

Python 在一行中顺序调用对象的多个属性?,python,class,object,Python,Class,Object,只是一个简单的问题 假设我有一些课程: class Student: def __init__(self, name, grade, school=None): self.name = name self.grade = grade self.school = school def enroll(self, school): self.school = school 我知道我可以这样调用对象的属性: x = St

只是一个简单的问题

假设我有一些课程

class Student:
    def __init__(self, name, grade, school=None):
        self.name = name
        self.grade = grade
        self.school = school

    def enroll(self, school):
        self.school = school
我知道我可以这样调用对象的属性:

x = Student("John Doe", 12)
print( x.grade )
print( x.name )
但是有没有一种方法可以通过只引用一次对象来从对象中顺序调用多个属性

可能是这样的:

x.(grade,name)
将返回:

12 John Doe

Python语言中没有内置用于此目的的语法。这是否回答了您的问题?这是为了什么?简单地回答你的问题,你不能用Python(也不能用我所知道的任何其他语言)来做这件事。我能想到的最接近这一点的事情是在JavaScript中对赋值进行分解,但它仅适用于赋值。请注意,我们的主题指导原则要求提出实际问题。要求某种东西是一行代码的要求通常会转化为代码高尔夫——与健壮、惯用、可维护的代码没有相似之处的学术练习,因此在任何实际使用中都不实用。不。我的意思是,你可以写一个函数,如果你需要做很多的话。实际上,它有一个内置的函数工厂,
operator.attrgetter
,但您不应该像
operator.attrgetter('grade','name')(x)
那样使用它。它主要传递给高阶函数,如
map