我如何从方法列表中判断哪些方法是在该类中定义的,哪些是继承的?

2024-10-03 13:20:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我如何从方法列表中判断哪些方法是在该类中定义的,哪些是继承的?我有一个银行模块,有两个类,银行账户和交易。Transactions从BankAccount继承

>>> dir(bank.BankAccount) 
[ 'chk', 'interest']
>>> dir(bank.Transcations) 
[ 'chk', 'deposit', 'interest', 'withdraw']

如何检查“chk”和“interest”方法是否被继承,是否可以判断从哪个类继承?你知道吗


Tags: 模块方法列表定义dir交易账户银行
2条回答
>>> class BankAccount(object):
...     def deposit(self):
...             pass
...     def account_no(self):
...             pass
... 
>>> class Transaction(BankAccount):
...     def withdrawal(self):
...             pass
... 
>>> Transaction.__dict__.keys()
['__module__', '__doc__', 'withdrawal']
>>> BankAccount.__dict__.keys()
['__module__', 'deposit', '__dict__', '__weakref__', '__doc__', 'account_no']

您可以检查bank.Transactions.__dict__.keys()

相关问题 更多 >