python 中可以join(类)吗,如果不可以该怎么做

class student:
    def __init__(self,XH,MM,XM,XB,NL,YX,SJH) :
        self.XH=XH
        self.MM=MM
        self.XM=XM
        self.XB=XB
        self.NL=NL
        self.YX=YX
        self.SJH=SJH
f = open('student.txt','a+',encoding='utf-8')
……
now_student=student(xh,mm,xm,xb,n,yx,sjh)
new=''.join(now_student)
f.write(new)
f.close()
print('输入成功')
运行结果及报错内容 在join这一行会出现SyntaxError: EOL while scanning string literal
我的解答思路和尝试过的方法
我想要达到的结果

把这个类直接写入文件

1、可以给student类实现内建方法__str__(),返回想要输出的字符串,然后在 new=''.join(str(now_student))里调用str():

class student:
    def __init__(self,XH,MM,XM,XB,NL,YX,SJH) :
        self.XH=XH
        self.MM=MM
        self.XM=XM
        self.XB=XB
        self.NL=NL
        self.YX=YX
        self.SJH=SJH
    def __str__(self):
        return "self.XH: {}".format(self.XH)
        
f = open('student.txt','a+',encoding='utf-8')
...
now_student=student(1,2,3,4,5,6,7)
new=''.join(str(now_student))
f.write(new)
f.close()
print('输入成功')

2、或者自定义一个类的方法返回一个iterable的对象,比如str或者list。

你如果箱序列化一个python对象,可以用pickle模块