def func_name(x):
 typ = type(x)
 if str(typ).startswith("<type '"):
  typ = str(typ).split("'")[1].split("'")[0]
 return getattr(getattr(x, 'func', x), '__name__', typ)

def func_name ( x ) : typ = type ( x ) if str ( typ ) . startswith ( "<type '" ) : typ = str ( typ ) . split ( "'" ) [ 1 ] . split ( "'" ) [ 0 ] return getattr ( getattr ( x , 'func' , x ) , '__name__' , typ )
return function name of x else the type(x) .