Python 使用连接字符串作为对象名称创建新对象
我有一个简单的类来存储参加会议人员的信息:Python 使用连接字符串作为对象名称创建新对象,python,oop,Python,Oop,我有一个简单的类来存储参加会议人员的信息: class Attendee: def __init__(self, fName, lName, email): self.fName = fName self.lName = lName self.email = email 我正在尝试使用两个用户输入字符串的组合创建Attendee对象: #get inputs from user: fName = input("First name: ")
class Attendee:
def __init__(self, fName, lName, email):
self.fName = fName
self.lName = lName
self.email = email
我正在尝试使用两个用户输入字符串的组合创建Attendee对象:
#get inputs from user:
fName = input("First name: ")
lName = input("Last name: ")
.....
newObjectName = fName[0] + lName
newObjectName = Attendee(fName, lName, email)
显然,这是行不通的,但你知道我的想法。
我知道在C#中,可以通过以下方式创建新对象:
Attendee newObjectName = new Attendee(fName, lName, email)
这将如何转换为Python
谢谢您的问题中已经有了代码-
newObjectName=Attendee(fName,lName,email)
您的问题中已经有了代码-newObjectName=Attendee(fName,lName,email)
如果您想要变量名,那么您需要一个不同的数据结构。例如,字典很好地工作:
attendees = {}
newObjectName = fName[0] + lName
attendees[newObjectName] = Attendee(fName, lName, email)
如果希望有变量名,则需要不同的数据结构。例如,字典很好地工作:
attendees = {}
newObjectName = fName[0] + lName
attendees[newObjectName] = Attendee(fName, lName, email)
下面在Attendee类中定义setter
它将为数据属性(变量)设置值
每当创建对象并且用户输入数据时
您还可以定义用于检索这些数据的getter
随需应变
最后一行使用str将对象状态打印为字符串
下面是一个请求用户输入的主程序示例
并创建一个类对象(新与会者类的)
我添加了一个字典,它首先创建为空({})
每个条目都存储在字典中
希望有帮助!
注:我没有将str(对象状态为字符串)付诸实施
下面在Attendee类中定义setter
它将为数据属性(变量)设置值
每当创建对象并且用户输入数据时
您还可以定义用于检索这些数据的getter
随需应变
最后一行使用str将对象状态打印为字符串
下面是一个请求用户输入的主程序示例
并创建一个类对象(新与会者类的)
我添加了一个字典,它首先创建为空({})
每个条目都存储在字典中
希望有帮助!
注:我没有将str(对象状态为字符串)付诸实施
您是说希望
newObjectName
作为变量的名称吗?也就是说,如果newObjectName=“bob”
那么bob=Attendee(…)
?顺便说一下:我认为你展示的C代码也不是你想要的……你是说你想要newObjectName
作为变量的名称吗?也就是说,如果newObjectName=“bob”
那么bob=Attendee(…)
?顺便说一下:我认为你展示的C代码也不是你想要的。。。
def main():
NewAttendee = {}
again = 'y'
while again == 'y':
fName = input("First name: ")
lName = input("Last name: ")
email = input("Email: ")
entry = Attendee(fName,lName, email)
if fName not in NewAttendee:
NewAttendee[fName] = entry
print('The new attendee has been added')
else:
print('That name already exists.')
again = input('Do you want to add a new attendee? \'y\' for yes -->')
main()