<detailsopen><summary><strong>What is the best way to use it?</strong></summary><br>
<detailsopen><summary><strong>What is the best way to use it?</strong></summary><br>
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 <code>Ctrl+↹</code> / <code>⌘↹</code>. Cheatsheet consists of minimal text and short examples so things are easy to find with <code>Ctrl+F</code> / <code>⌘F</code>.<br><br>
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 <code>Ctrl+↹</code> / <code>⌘↹</code>. Cheatsheet consists of minimal text and short examples so things are easy to find with <code>Ctrl+F</code> / <code>⌘F</code>. If you're on the webpage, searching for <code>'#<name>'</code> will only search for the titles.<br><br>
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 <code>help(<module/object/function/type>)</code> command. If something is still unclear, then I search the Python docs by googling <code>'python docs <module/function>'</code>.
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 <code>help(<module/object/function/type>)</code> command. If something is still unclear, then I search the Python docs by googling <code>'python docs <module/function>'</code>.
</details><br>
</details><br>
@ -23,9 +23,9 @@
</details><br>
</details><br>
<detailsopen><summary><strong>What exactly is <code><collection></code>?</strong></summary><br>
<detailsopen><summary><strong>What exactly is <code><collection></code>?</strong></summary><br>
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. <code><object>.__iter__()</code> returns an iterator of object's items and <code><object>.__getitem__(<index>)</code> 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.<br><br>
<code><iterable></code> should not be confused with abstract base class<code>collections.abc.Iterable</code>. Expression<code>instanceof(<object>, collections.abc.Iterable)</code>only checks if object has iter() special method.<code>instanceof(<object>, collections.abc.Collection)</code>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, <code><object>.__iter__()</code>should return an iterator of object's items and <code><object>.__getitem__(<index>)</code> 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.<br><br>
To make matters a bit more confusing, an abstract base class called Iterable doesn't fully follow this definition. An expression <code>instanceof(<object>, collections.abc.Iterable)</code> only checks whether an object has iter() special method, disregarding the getitem().<br><br>
Although collection has no definition in Python's <ahref="https://docs.python.org/3/glossary.html">glossary</a>, there exists a Collection abstract base class. Expression<code>instanceof(<object>, collections.abc.Collection)</code> returns 'True' for any object that has len(), iter() and contains() special methods defined.<code><object>.__len__()</code>should return the number of elements and<code><object>.__contains__(<el>)</code>should check if object contains the passed element.
</details><br>
</details><br>
<detailsopen><summary><strong>What about PEP 8?</strong></summary><br>
<detailsopen><summary><strong>What about PEP 8?</strong></summary><br>