How does 'done' and 'not_done' work in python concurrent.futures module?

I was searching about python concurrent.futures module's method 'wait' and I could find this information from python official docs...

concurrent.futures.wait(fs, timeout=None, return_when=ALL_COMPLETED)

Wait for the Future instances (possibly created by different Executor instances) given by fs to complete. Returns a named 2-tuple of sets. The first set, named done, contains the futures that completed (finished or cancelled futures) before the wait completed. The second set, named not_done, contains the futures that did not complete (pending or running futures).

and I found some example codes about concurrent.futures.wait, and could see something mysterious for me...

result = concurrent.futures.wait(futures, timeout=7) ## We are waiting for 7 seconds
print('Completed Tasks : '+str(result.done))
print('Pending ones after waiting for 7 seconds : '+str(result.not_done))
print([future.result() for future in result.done])
here, I could see str(result.done) and str(result.not_done),

in the code, done and not_done works as methods and return set of completed and uncompleted future...

I couldn't find any information about the use of done and not_done like methods....

How does it work?

How many English words
do you know?
Test your English vocabulary size, and measure
how many words do you know
Online Test
Powered by Examplum