嗨,大家好,我正在努力学习这些课程。
这就是我要做的:cours
代表course
而etudiant
代表student
。我必须创建一个类Student,它将执行以下操作,我还必须使用repr
。所以用学生编号创建对象并添加课程
>>> d = Etudiant(12456)
>>> d.addCours('csi2520')
>>> d.addCours('csi2772')
>>> d.addCours('csi2510')
>>> d
12456:[ 'csi2520', 'csi2772', 'csi2510']
>>> d.cours('csi2510')
True
>>> d.cours('csi4900')
False
这就是我所做的,但它不起作用
class Etudiant:
cours=[]
def __init__(self, numero):
self.numero=numero
self.classe={self.numero:self.cours}
repr(self.classe)
def addCours(self, cours1):
self.cours.insert(-1,cours1)
请保持简单,我是新手
答案 0 :(得分:3)
要改变Python对象在打印时的外观,您需要实现一个名为__repr__
的魔术方法(表示的简称)。您也不需要将学号存储在cours
变量中:
class Etudiant(object):
def __init__(self, numero):
self.numero = numero
self._cours = []
def addCours(self, cours):
self._cours.append(cours)
def cours(self, cours):
return cours in self._cours
def __repr__(self):
return '{}: {}'.format(self.numero, self._cours)
测试:
>>> d = Etudiant(12456)
>>> d.addCours('csi2520')
>>> d.addCours('csi2772')
>>> d.addCours('csi2510')
>>> d
12456: ['csi2520', 'csi2772', 'csi2510']
>>> d.cours('csi2510')
True
>>> d.cours('csi4900')
False