Skip to content

Commit 9fb92d2

Browse files
committed
Merge branch 'master' into pygame
2 parents e6c56f2 + eb0b978 commit 9fb92d2

File tree

4 files changed

+54
-50
lines changed

4 files changed

+54
-50
lines changed

README.md

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ value = <dict>.pop(key) # Removes item or raises KeyErro
9696
### Counter
9797
```python
9898
>>> from collections import Counter
99-
>>> colors = ['blue', 'red', 'blue', 'red', 'blue']
99+
>>> colors = ['blue', 'blue', 'blue', 'red', 'red']
100100
>>> counter = Counter(colors)
101101
>>> counter['yellow'] += 1
102102
Counter({'blue': 3, 'red': 2, 'yellow': 1})
@@ -377,7 +377,7 @@ import re
377377
```
378378

379379
### Special Sequences
380-
* **By default digits, whitespaces and alphanumerics from all alphabets are matched, unless `'flags=re.ASCII'` argument is used.**
380+
* **By default digits, alphanumerics and whitespaces from all alphabets are matched, unless `'flags=re.ASCII'` argument is used.**
381381
* **Use a capital letter for negation.**
382382
```python
383383
'\d' == '[0-9]' # Matches any digit.
@@ -442,7 +442,7 @@ Format
442442
#### Comparison of presentation types:
443443
```text
444444
+---------------+-----------------+-----------------+-----------------+-----------------+
445-
| | {<real>} | {<real>:f} | {<real>:e} | {<real>:%} |
445+
| | {<float>} | {<float>:f} | {<float>:e} | {<float>:%} |
446446
+---------------+-----------------+-----------------+-----------------+-----------------+
447447
| 0.000056789 | '5.6789e-05' | '0.000057' | '5.678900e-05' | '0.005679%' |
448448
| 0.00056789 | '0.00056789' | '0.000568' | '5.678900e-04' | '0.056789%' |
@@ -456,7 +456,7 @@ Format
456456
```
457457
```text
458458
+---------------+-----------------+-----------------+-----------------+-----------------+
459-
| | {<float>:.2} | {<real>:.2f} | {<real>:.2e} | {<real>:.2%} |
459+
| | {<float>:.2} | {<float>:.2f} | {<float>:.2e} | {<float>:.2%} |
460460
+---------------+-----------------+-----------------+-----------------+-----------------+
461461
| 0.000056789 | '5.7e-05' | '0.00' | '5.68e-05' | '0.01%' |
462462
| 0.00056789 | '0.00057' | '0.00' | '5.68e-04' | '0.06%' |
@@ -541,7 +541,7 @@ shuffle(<list>)
541541
Combinatorics
542542
-------------
543543
* **Every function returns an iterator.**
544-
* **If you want to print the iterator, you need to pass it to the list() function!**
544+
* **If you want to print the iterator, you need to pass it to the list() function first!**
545545

546546
```python
547547
from itertools import product, combinations, combinations_with_replacement, permutations
@@ -1093,7 +1093,7 @@ class MyComparable:
10931093
```python
10941094
class MyHashable:
10951095
def __init__(self, a):
1096-
self._a = copy.deepcopy(a)
1096+
self._a = a
10971097
@property
10981098
def a(self):
10991099
return self._a
@@ -1146,7 +1146,7 @@ class Counter:
11461146
```
11471147

11481148
#### Python has many different iterator objects:
1149-
* **Objects returned by the [iter()](#iterator) function, such as list\_iterator and set\_iterator.**
1149+
* **Iterators returned by the [iter()](#iterator) function, such as list\_iterator and set\_iterator.**
11501150
* **Objects returned by the [itertools](#itertools) module, such as count, repeat and cycle.**
11511151
* **Generators returned by the [generator functions](#generator) and [generator expressions](#comprehension).**
11521152
* **File objects returned by the [open()](#open) function, etc.**
@@ -1170,7 +1170,7 @@ class Counter:
11701170
```
11711171

11721172
### Context Manager
1173-
* **Enter() should lock the resources and (optionally) return an object.**
1173+
* **Enter() should lock the resources and optionally return an object.**
11741174
* **Exit() should release the resources.**
11751175
* **Any exception that happens inside the with block is passed to the exit() method.**
11761176
* **If it wishes to suppress the exception it must return a true value.**
@@ -1205,8 +1205,9 @@ class MyIterable:
12051205
def __init__(self, a):
12061206
self.a = a
12071207
def __iter__(self):
1208-
for el in self.a:
1209-
yield el
1208+
return iter(self.a)
1209+
def __contains__(self, el):
1210+
return el in self.a
12101211
```
12111212

12121213
```python
@@ -1336,7 +1337,7 @@ from functools import partial
13361337
LogicOp = Enum('LogicOp', {'AND': partial(lambda l, r: l and r),
13371338
'OR' : partial(lambda l, r: l or r)})
13381339
```
1339-
* **Another solution in this particular case is to use built-in functions `'and_'` and `'or_'` from the module [operator](#operator).**
1340+
* **Another solution in this particular case is to use built-in functions and\_() and or\_() from the module [operator](#operator).**
13401341

13411342

13421343
Exceptions
@@ -1419,7 +1420,7 @@ BaseException
14191420
+-- StopIteration # Raised by next() when run on an empty iterator.
14201421
+-- TypeError # Raised when an argument is of wrong type.
14211422
+-- ValueError # When an argument is of right type but inappropriate value.
1422-
+-- UnicodeError # Raised when encoding/decoding strings from/to bytes fails.
1423+
+-- UnicodeError # Raised when encoding/decoding strings to/from bytes fails.
14231424
```
14241425

14251426
#### Collections and their exceptions:
@@ -1589,7 +1590,7 @@ from glob import glob
15891590
```
15901591

15911592
```python
1592-
<str> = getcwd() # Returns current working directory.
1593+
<str> = getcwd() # Returns the current working directory.
15931594
<str> = path.join(<path>, ...) # Joins two or more pathname components.
15941595
<str> = path.abspath(<path>) # Returns absolute path.
15951596
```
@@ -1663,15 +1664,15 @@ from pathlib import Path
16631664
OS Commands
16641665
-----------
16651666
### Files and Directories
1666-
* **Paths can be either strings, Paths, or DirEntry objects.**
1667+
* **Paths can be either strings, Paths or DirEntry objects.**
16671668
* **Functions report OS related errors by raising either OSError or one of its [subclasses](#exceptions-1).**
16681669

16691670
```python
16701671
import os, shutil
16711672
```
16721673

16731674
```python
1674-
os.chdir(<path>) # Changes current working directory.
1675+
os.chdir(<path>) # Changes the current working directory.
16751676
os.mkdir(<path>, mode=0o777) # Creates a directory. Mode is in octal.
16761677
```
16771678

@@ -1787,7 +1788,7 @@ import csv
17871788
<writer>.writerow(<collection>) # Encodes objects using `str(<el>)`.
17881789
<writer>.writerows(<coll_of_coll>) # Appends multiple rows.
17891790
```
1790-
* **File must be opened with `'newline=""'` argument, or an extra '\r' will be added to every '\n' on platforms that use '\r\n' linendings!**
1791+
* **File must be opened with `'newline=""'` argument, or an extra '\r' will be added to every '\n' on platforms that use '\r\n' line endings!**
17911792

17921793
### Parameters
17931794
* **`'dialect'` - Master parameter that sets the default values.**
@@ -1846,9 +1847,9 @@ db.close()
18461847
### Read
18471848
**Returned values can be of type str, int, float, bytes or None.**
18481849
```python
1849-
<cursor> = db.execute('<query>') # Can raise sqlite3.OperationalError.
1850+
<cursor> = db.execute('<query>') # Raises a subclass of sqlite3.Error.
18501851
<tuple> = <cursor>.fetchone() # Returns next row. Also next(<cursor>).
1851-
<list> = <cursor>.fetchall() # Returns remaining rows.
1852+
<list> = <cursor>.fetchall() # Returns remaining rows. Also list(<cursor>).
18521853
```
18531854

18541855
### Write
@@ -1889,7 +1890,7 @@ db.executemany('<query>', <coll_of_above>) # Runs execute() many times.
18891890
from mysql import connector
18901891
db = connector.connect(host=<str>, user=<str>, password=<str>, database=<str>)
18911892
<cursor> = db.cursor()
1892-
<cursor>.execute('<query>') # Only cursor has execute method.
1893+
<cursor>.execute('<query>') # Raises a subclass of mysql.connector.Error.
18931894
<cursor>.execute('<query>', <list/tuple>) # Replaces '%s's in query with values.
18941895
<cursor>.execute('<query>', <dict/namedtuple>) # Replaces '%(<key>)s's with values.
18951896
```
@@ -1958,7 +1959,7 @@ b'\x00\x01\x00\x02\x00\x00\x00\x03'
19581959
```
19591960

19601961
### Format
1961-
#### For standard sizes start format string with:
1962+
#### For standard type sizes start format string with:
19621963
* **`'='` - native byte order**
19631964
* **`'<'` - little-endian**
19641965
* **`'>'` - big-endian (also `'!'`)**
@@ -1982,8 +1983,9 @@ Array
19821983

19831984
```python
19841985
from array import array
1985-
<array> = array('<typecode>', <collection>) # Array from coll. of numbers.
1986+
<array> = array('<typecode>', <collection>) # Array from collection of numbers.
19861987
<array> = array('<typecode>', <bytes>) # Array from bytes object.
1988+
<array> = array('<typecode>', <array>) # Treats array as a sequence of numbers.
19871989
<bytes> = bytes(<array>) # Or: <array>.tobytes()
19881990
```
19891991

0 commit comments

Comments
 (0)