访问一个类的对象以查看其是否存在于另一类中

时间:2018-09-17 14:24:07

标签: python python-3.x oop

我创建了一个类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

我为类user1制造对象user2user3User

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

但是我不太明白该怎么做。

1 个答案:

答案 0 :(得分:1)

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

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