如何在班上打印方法名称

时间:2016-01-17 21:02:56

标签: python class methods

例如:

class Employee:
   'Common base class for all employees'
   empCount = 0

   def __init__(self, name, salary):
      self.name = name
      self.salary = salary
      Employee.empCount += 1

   def displayCount(self):
     print "Total Employee %d" % Employee.empCount

   def displayEmployee(self):
      print "Name : ", self.name,  ", Salary: ", self.salary

我想打印方法名称。 输出应该是:

Class Employee contains (displayCount,displayEmployee) 

1 个答案:

答案 0 :(得分:1)

这将获得所有方法名称:

import inspect
methodnames = [name for name,member in inspect.getmembers(Employee) if inspect.ismethod(member)]

...并且这样做相同,但不包括以__init__开头的__等方法名称:

import inspect
methodnames = [name for name,member in inspect.getmembers(Employee) if inspect.ismethod(member) and not name.startswith('__')]

在第二个版本中,methodnames将为['displayCount', 'displayEmployee']