#!/usr/bin/env python#-*- coding: utf-8 -*-
from types importMethodType,FunctionTypedefcheck(arg):ifisinstance(arg,MethodType):return ('方法')ifisinstance(arg,FunctionType):return ('函数')ifcallable(arg):return ('111')classFoo(object):deff1(self):print('f1')
@classmethoddeff2(self):print('f2')
@staticmethoddeff3():print('f3')
list_display=[f1, f2, f3]"""
"""obj=Foo()
Foo.list_display.append(obj.f1)
Foo.list_display.append(obj.f2)
Foo.list_display.append(obj.f3)""">
>
"""Foo.list_display.append(Foo.f1)
Foo.list_display.append(Foo.f2)
Foo.list_display.append(Foo.f3)"""
>
"""
importtracebackfor item inFoo.list_display:print(item,check(item),type(item))"""函数
None
None
方法
方法
函数
函数
方法
函数
## 方法和函数
对象.xxx xxx就是方法
类.xxx xxx就是函数
xxx xxx就是函数"""
####
importtracebackdeffunc():try:
a+= 1
exceptException as e:#获取当前错误的堆栈信息
msg =traceback.format_exc()print(msg)#logging.error(str(e))
#logging.error(str(msg))
func()