如何在整个环境中检查Python中类的相同实例?

如何在整个环境中检查Python中类的相同实例?,python,object,random,Python,Object,Random,我正在用Python创建一个程序,通过创建一个自定义卡类的随机实例来绘制“卡”(即,它随机化套装和等级以创建一张新卡) 我遇到的问题是,有时在同一只手上生成重复的卡片是可能的。是否有内置或标准函数用于在整个本地环境中搜索类的相同实例(每个属性具有相同的值) 如果不是,我已经用\uuuuu eq\uuuu定义了对象相等,这意味着西装和等级都相等。如何确定某个类是否存在于local()字典(或其列表之一)中,然后拉取这些实例以确定相等性?您完全搞错了。与其试图在宇宙中搜索已经生成的牌,不如制作一副牌

我正在用Python创建一个程序,通过创建一个自定义
类的随机实例来绘制“卡”(即,它随机化套装和等级以创建一张新卡)

我遇到的问题是,有时在同一只手上生成重复的卡片是可能的。是否有内置或标准函数用于在整个本地环境中搜索类的相同实例(每个属性具有相同的值)


如果不是,我已经用
\uuuuu eq\uuuu
定义了对象相等,这意味着西装和等级都相等。如何确定某个类是否存在于
local()
字典(或其列表之一)中,然后拉取这些实例以确定相等性?

您完全搞错了。与其试图在宇宙中搜索已经生成的牌,不如制作一副牌并从中抽牌

import random
deck = [Card(suit, number) for suit in suits for number in range(1, 14)]
random.shuffle(deck)

# When you need to draw a card
card = deck.pop()

你完全搞错了。与其试图在宇宙中搜索已经生成的牌,不如制作一副牌并从中抽牌

import random
deck = [Card(suit, number) for suit in suits for number in range(1, 14)]
random.shuffle(deck)

# When you need to draw a card
card = deck.pop()
您有
locals()
globals()
,但您可以创建重复卡,这意味着您首先必须更改算法。您可能试图在错误的位置解决问题。您有
locals()
globals()
,但您可以创建重复卡,这意味着您首先必须更改算法。你可能试图在错误的地点解决你的问题。