Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用连接字符串作为对象名称创建新对象_Python_Oop - Fatal编程技术网

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()