@老虎说 这位答主的思路是正确的,有些答主怎么就不假思索地答非所问呢?这里提供一种更简单好用的方法,只需要稍微改变一下注释的方式,就可以用一句话解决:
class Foo: def __init__(self, initial_balance=0): self.balance = initial_balance def deposit(self, amount): '''Deposit amount''' self.balance += amount def withdraw(self, amount): '''Withdraw amount''' self.balance -= amount def overdrawn(self): return self.balance < 0
题主给的描述中代码不完整,我补充了一下,将函数上方的注释改成了函数文档。我本科的时候给课设的代码写报告的时候,也需要得到所有函数。其实这样写更规范而且无需正则匹配,只需要一句话:
print([func.__name__ for func in Foo.__dict__.values() if callable(func) and not func.__doc__])
py文件本质上是一个文本文件,通过文件读取的方式把指定的py文件加载到变量中,再通过正则表达式获取指定的函数名称