~3 min read|
Over the past few days I’ve been exploring different data structures and built-in methods with Python.
Today, however, I came across a great way to find and explore new methods using two built-in functions:
dir() is a function that takes an optional object as it’s argument:
Without arguments, return the list of names in the current local scope. With an argument, attempt to return a list of valid attributes for that object.
This is really handy for understanding which methods are available on the object. NB:
dir() is primarily intended as a convenience as a result, ”[t]he resulting list is not necessarily complete, and may be inaccurate when the object has a custom getattr().” It’s focus is on relevant, not complete information.
help(), as might be expected, invokes the built-in help system. This proves to be a convenient way to pull up the documentation for methods.
The behavior changes depending on the argument. Help has three different behaviors - no argument, a string, any other object.
If no argument is given, the interactive help system starts on the interpreter console.
If the argument is a string, then the string is looked up as the name of a module, function, class, method, keyword, or documentation topic, and a help page is printed on the console.
Any other object:
If the argument is any other kind of object, a help page on the object is generated.
Try the following in local python environment:
>>> my_list = [1,2,3,4] >>> dir(my_list) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
I wanted to learn more about what it means to remove an element from a list, so I continued with:
This opened up the manual page for remove, a built in of the list:
Help on built-in function remove: remove(value, /) method of builtins.list instance Remove first occurrence of value. Raises ValueError if the value is not present. (END)
Also, if you are worried that you’re missing methods based on the
dir(my_list), you can pull up the full manual page for a list with
help(my_list) - the problem is more verbose and less easily searchable.
I’m learning a lot of new stuff, very quickly, with Python! Knowing about
help() are huge time savers so that I can look up the documentation quickly and keep moving!
Hi there and thanks for reading! My name's Stephen. I live in Chicago with my wife, Kate, and dog, Finn. Want more? See about and get in touch!