Everything is an object

Let's go back to our words module and experiment with it further at the REPL. On this occasion we'll import just the module:

$ python3
Python 3.5.0 (default, Nov 3 2015, 13:17:02)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import words

The import statement binds a module object to the name words in the current namespace. We can determine the type of any object by using the type() built-in function:

>>> type(words)
<class 'module'>

If we want to see the attributes of an object, we can use the dir() built-in function in a Python interactive session to introspect an object:

>>> dir(words)
['__builtins__', '__cached__', '__doc__', '__file__', '__initializing__',
'__loader__', '__name__', '__package__', 'fetch_words', 'main',
'print_items', 'sys', 'urlopen']

The dir() function returns a sorted list of the module attribute names, including:

  • The ones we defined such as the function fetch_words()
  • Any imported names such as sys and urlopen
  • Various special dunder attributes such as  __name__ and __doc__ which
    reveal the inner-workings of Python
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset