Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.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_Python 3.x_Oop - Fatal编程技术网

有没有办法在python中创建一个类的多个实例

有没有办法在python中创建一个类的多个实例,python,python-3.x,oop,Python,Python 3.x,Oop,我正在为自行车租赁服务开发一个GUI应用程序,我需要在每次租赁自行车时单击一个新的customer类实例。 下面是GUI的一个示例 我希望在这个类中多次实例化customer对象,但问题是它只实例化一次,并且它会覆盖我以前创建的所有其他客户 附言 我以后需要将这个客户对象导入到另一个GUI文件中 下面是我导入它的方式 from BikeGUI.rentbike.rent_bike import customer 但我认为问题不在于把它进口到另一个国家。 如果您的类被称为Rent\u Bike

我正在为自行车租赁服务开发一个GUI应用程序,我需要在每次租赁自行车时单击一个新的customer类实例。 下面是GUI的一个示例

我希望在这个类中多次实例化customer对象,但问题是它只实例化一次,并且它会覆盖我以前创建的所有其他客户

附言 我以后需要将这个客户对象导入到另一个GUI文件中 下面是我导入它的方式

from BikeGUI.rentbike.rent_bike import customer
但我认为问题不在于把它进口到另一个国家。

如果您的类被称为
Rent\u Bike
,那么您可以使用
instance=Rent\u Bike()
实例化它。你可以想做多少次就做多少次。类的实例称为对象。

如果您想在每次单击“租赁自行车”按钮时创建customers类的新实例。使用
按钮
小部件中的“command”参数,并将其设置为类名

例如:如果你的类名是
foo
,那么它应该是这样的:
按钮(root,text='Rent A Bike',command=foo)
。如果要将每个新实例附加到列表中,请使用类似以下的函数
command=lambda:lst.append(foo())

以下是在同一文件中实例化类的示例:

从tkinter导入*
导入新的\u 2
类别客户:
定义初始化(自,根):
self.root=根
self.label=label(self.root,text='Customer')
self.label.pack()
foo类:
定义初始化(自):
打印('你好')
def print_lst():
打印(lst)
root=Tk()
lst=[]
btn=Button(root,text='Rent A Bike',command=lambda:lst.append(Customer(root))或print_lst())
#btn=按钮(root,text='Rent A Bike',command=lambda:lst.append(foo())或print_lst())
btn.pack()
root.mainloop()

要在另一个文件中为一个类创建对象,只需导入该类并遵循与上面相同的过程即可

创建多个实例正是类的用途。如何实现这一点是因为我们不知道使用了多少实例,我发现的大多数信息都是使用for循环,当然,只有当我们知道我们想要的对象的数量时,才能将它们存储在一个列表中。我想要多个实例的类位于MAIN.PY中,即我在顶部导入的类。这个类叫做Customer(),我花了好几个小时的时间试图去理解它,但都没有用。所以,事情是这样的,请允许我这样说,我想知道如何在另一个文件中创建一个类的多个对象,以及如何在其他文件中使用所有创建的对象。在上面的代码中,对于客户的对象是windows,对吗?@EmmanuelManoloSiame您何时希望在单击按钮小部件时创建新对象?如果要访问其他类中的对象,也可以将列表传递给其他类。我不明白你所说的“对于客户的对象是窗口”是什么意思。我想在btn租用自行车时创建对象,但我已经分配了一个功能,打开一个新窗口,客户在其中输入一些值,让我尝试向按钮添加多个命令,看看会发生什么
from BikeGUI.rentbike.rent_bike import customer