diff --git a/web/faq.html b/web/faq.html index 151821f..7b0374a 100644 --- a/web/faq.html +++ b/web/faq.html @@ -3,7 +3,7 @@
What is the best way to use it?
-    I keep the text file open on separate desktop at all times. It is also in a different text editor than the one I usually use, so it's easier to switch to with Ctrl+↹ / ⌘↹. Cheatsheet consists of minimal text and short examples so things are easy to find with Ctrl+F / ⌘F.

+    I keep the text file open on separate desktop at all times. It is also in a different text editor than the one I usually use, so it's easier to switch to with Ctrl+↹ / ⌘↹. Cheatsheet consists of minimal text and short examples so things are easy to find with Ctrl+F / ⌘F. If you're on the webpage, searching for '#<name>' will only search for the titles.

    I also keep the Python console open at all times to test little snippets of code, to check out the available functions of a module using code completion and above all, to use help(<module/object/function/type>) command. If something is still unclear, then I search the Python docs by googling 'python docs <module/function>'.

@@ -23,9 +23,9 @@
What exactly is <collection>?
-    Collection is my name for an iterable object. An iterable object in Python is any object that has at least one of iter() and getitem() special methods defined. <object>.__iter__() returns an iterator of object's items and <object>.__getitem__(<index>) returns an item at that index. I chose not to use the name iterable because it sounds scarier and more vague than collection, even though it has a precise definition.

- -    <iterable> should not be confused with abstract base class collections.abc.Iterable. Expression instanceof(<object>, collections.abc.Iterable) only checks if object has iter() special method. instanceof(<object>, collections.abc.Collection) checks for len(), iter() and contains(). +    Collection is my name for an iterable object. An iterable object in Python is any object that has at least one of iter() and getitem() special methods defined. By convention, <object>.__iter__() should return an iterator of object's items and <object>.__getitem__(<index>) an item at that index. I chose not to use the name iterable because it sounds scarier and more vague than collection, even though it has a precise definition.

+    To make matters a bit more confusing, an abstract base class called Iterable doesn't fully follow this definition. An expression instanceof(<object>, collections.abc.Iterable) only checks whether an object has iter() special method, disregarding the getitem().

+    Although collection has no definition in Python's glossary, there exists a Collection abstract base class. Expression instanceof(<object>, collections.abc.Collection) returns 'True' for any object that has len(), iter() and contains() special methods defined. <object>.__len__() should return the number of elements and <object>.__contains__(<el>) should check if object contains the passed element.

What about PEP 8?