Closes #13258: Use callable() built-in in the standard library.
diff --git a/Lib/idlelib/rpc.py b/Lib/idlelib/rpc.py
index 0c56ccd..def4394 100644
--- a/Lib/idlelib/rpc.py
+++ b/Lib/idlelib/rpc.py
@@ -570,7 +570,7 @@
     # Adds names to dictionary argument 'methods'
     for name in dir(obj):
         attr = getattr(obj, name)
-        if hasattr(attr, '__call__'):
+        if callable(attr):
             methods[name] = 1
     if isinstance(obj, type):
         for super in obj.__bases__:
@@ -579,7 +579,7 @@
 def _getattributes(obj, attributes):
     for name in dir(obj):
         attr = getattr(obj, name)
-        if not hasattr(attr, '__call__'):
+        if not callable(attr):
             attributes[name] = 1
 
 class MethodProxy(object):