【发布时间】:2022-10-19 02:45:42
【问题描述】:
我对 python 和 oop 还是很陌生,我有解决我的问题的方法,但它不是很高效,我想我错过了一些东西。
我的代码:
class User1:
def __init__(self, foo):
self.foo = foo
class User2:
def __init__(self, foo):
self.foo = foo
list_of_user1 = getUser1()
list_of_user2 = getUser2()
def do_something_to_user1():
do_something_to_user = []
for user in list_of_user1:
if user.foo not in [user.foo for user in list_of_user2]:
do_something_to_user.append(user)
for user in do_something_to_user:
something(user)
def do_something_to_user2():
do_something_to_user = []
for user in list_of_user2:
if user.foo not in [user.foo for user in list_of_user1]:
do_something_to_user.append(user)
for user in do_something_to_user:
something_else(user)
我的问题是,我应该如何比较这些类的多个实例的不同类的两个对象。 有一个更好的方法吗 ?
【问题讨论】:
-
在 OOP 中,您通常定义一个
User类,您可以多次实例化该类,从而为您提供类User的多个实例。在 Python 中,您可以编写类方法__eq__(self, other)来比较实例。
标签: python python-3.x oop