gpt4 book ai didi

python - 在Python中打印类中包含的所有元素

转载 作者:行者123 更新时间:2023-12-01 06:28:41 24 4
gpt4 key购买 nike

我有一个保存姓名的类,并且可以为每个姓名记录一个电话号码和一个电子邮件地址:

class address_book:

def __init__(self,name):
self._name=name
self._info=dict()

def name(self):
return self._name

def add_number(self,number):
self._info['phone']=number

def add_email(self,e_mail):
self._info['email']=e_mail

def __str__(self):
return f'Name: {self._name}\nInfo:{self._info}'

首先我想问你它是否正确,因为这是我用Python编写的第一个类。

第二,我想问一下,有没有办法同时打印这个类包含的所有元素。例如:

a=address_book('James')
a.add_number(8975436)
a.add_email('James11@xxx')

b=address_book('Carl')
b.add_number(96543436)
b.add_email('carl128@xxx')

c=address_book('Ann')
[...]

如果我想打印全部,我必须写:

print(str(a),'\n',str(b),'\n',str(c))

这没关系,因为我的地址簿中只保存了 3 个姓名,但是当保存了很多姓名或者我不知道确切的数字时,我该怎么做才能一次性看到它们呢?

最佳答案

没有什么可以自动收集类的所有实例。您应该将它们放在一个列表中,而不是单独的变量中。

all_addresses = []

a=address_book('James')
a.add_number(8975436)
a.add_email('James11@xxx')
all_addresss.append(a)

b=address_book('Carl')
b.add_number(96543436)
b.add_email('carl128@xxx')
all_addresses.append(b)

...
print(*all_addresses, sep='\n')

关于python - 在Python中打印类中包含的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60008147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com