首页 > 解决方案 > 访问一个类的对象以查看它是否存在于另一个类中

问题描述

我创建了一个BankAccount存储余额和用户列表的类。我正在使用用户列表,因为可以授权许多用户使用给定的银行帐户

class BankAccount:
    def __init__(self,balance, users = None):
        self.balance = balance
        if users is None:
            self.users = []
    else:
        self.users = users

def withdraw(self,amount):
    if self.balance >= amount:
        self.balance -= amount

def deposit(self,amount):
    if amount >= 0:
        self.balance += amount


def balance(self):
    return self.balance


def access(user):
    ###This is where I am confused

我有另一个类,我在其中定义用户是什么:

class User:
    def __init__(self, name, houseaddress):
        self.name = name
        self.houseaddress = houseaddress

我为类制作对象user1user2和:user3User

user1 = User('Lilly', 'Sweet Valley, USA')
user2 = User('Jason', 'Melbourne, Australia')
user3 = User('Kevin','Santa Monica, USA')

account = BankAccount(10000)
account1.add_user(user1)
account1.add_user(user3)

account2 = BankAccount(402)
account2.add_user(user2)
account2.add_user(user3)

现在,我想在我的BankAccount类中定义一个函数访问权限,True如果用户有权访问该帐户,它就会返回。例如:

account1.access(user3)
>> True

但我不太明白如何做到这一点。

标签: pythonpython-3.xoop

解决方案


您可以简单地使用in运算符来测试给定用户是否在帐户users列表中:

def access(self, user):
    return user in self.users

推荐阅读