我最近在教堂接到电话,我正在写一个小程序来帮助我跟踪一些任务。我已经编写了一些类代码,并打印出来,但我希望每个细节都可以在自己的行上打印,也可以用开销描述打印。我不知道如何格式化。这是代码。
class Ministers:
def __init__(self, last, first, middle, phone, email, district,
districtPresident, partner, interviewed, dateOfInterview):
self.last = last
self.first = first
self.middle = middle
self.phone = phone
self.email = email
self.district = district
self.districtPresident = districtPresident
self.partner = partner
self.interviewed = interviewed
self.dateOfInterview = dateOfInterview
def info(self):
return '{} {} {} {} {} {} {} {} {} {}'.format(self.last, self.first,
self.middle, self.phone, self.email, self.district,
self.districtPresident, self.partner, self.interviewed,
self.dateOfInterview)
minister_1 = Ministers('Arthur', 'Leslie', 'Brainard', 'unknown', 'unknown',
'Central', 'Sean D. Burnham', 'Ben Pearson', 'n/a','n/a')
print(Ministers.info(minister_1))
虽然我在这里,但我还是可以问:将这么多属性放在一个类实例中,这是一种传统的做事方式吗?我应该用不同的方式写这个吗?显然我是个新手。
代码打印如下:
姓氏名字中间名等
我希望它像这样打印:
姓 名字 中间名字 等等
实现输出的一种较短方式(仅适用于Python 3.7+,因为保证在此处排序插入):
def info(self):
return '\n'.join(self.__dict__.values())
就个人而言,我会摆脱信息功能,因为__str__
dunder方法专门用于此目的。所以当你用以下函数替换你的函数:
def __str__(self):
return '\n'.join(self.__dict__.values())
你可以用Minister
查看你的print(minister_1)
实例。
只需将格式字符串切换为换行符而不是空格,即将'{} {} {} {} {} {} {} {} {} {}'
替换为'{}\n{}\n{}\n{}\n{}\n{}\n{}\n{}\n{}\n{}'
您可以使用格式选项,如下所示:
$
f'{variable1}\n{variable2}.....'
$
而且您不需要将格式放在最后
你也可以在字典中统一你的属性,这样你就可以同时调用所有的属性。
也许不是解决问题的最优雅的方法,但是对你的回归的以下改变将会成功。 “\ n”是一个新的换行符。
返回'{} \ n {} \ n {} \ n {} \ n {} \ n {} \ n {} \ n {} \ n {} \ n {}'。format(self.last,self。第一,