1
0
mirror of https://github.com/satwikkansal/wtfpython synced 2024-11-22 02:54:25 +01:00

Fix uuid comments

This commit is contained in:
Satwik Kansal 2019-07-08 03:00:33 +05:30 committed by Satwik
parent 45638fa6b1
commit e8fcce27c2

114
README.md vendored
View File

@ -223,7 +223,7 @@ Now, just run `wtfpython` at the command line which will open this collection in
## Section: Strain your brain! ## Section: Strain your brain!
### ▶ Strings can be tricky sometimes * ### ▶ Strings can be tricky sometimes *
<!-- Example ID: 30f1d3fc-e267-4b30-84ef-4d9e7091ac1a --!> <!-- Example ID: 30f1d3fc-e267-4b30-84ef-4d9e7091ac1a --->
1\. 1\.
```py ```py
>>> a = "some_string" >>> a = "some_string"
@ -274,7 +274,7 @@ Makes sense, right?
--- ---
### ▶ Splitsies ^ ### ▶ Splitsies ^
<!-- Example ID: ec3168ba-a81a-4482-afb0-691f1cc8d65a --!> <!-- Example ID: ec3168ba-a81a-4482-afb0-691f1cc8d65a --->
```py ```py
>>> 'a'.split() >>> 'a'.split()
['a'] ['a']
@ -312,7 +312,7 @@ Makes sense, right?
### ▶ Time for some hash brownies! ### ▶ Time for some hash brownies!
<!-- Example ID: eb17db53-49fd-4b61-85d6-345c5ca213ff --!> <!-- Example ID: eb17db53-49fd-4b61-85d6-345c5ca213ff --->
1\. 1\.
```py ```py
some_dict = {} some_dict = {}
@ -357,7 +357,7 @@ So, why is Python all over the place?
--- ---
### ▶ The disorder within order ^ ### ▶ The disorder within order ^
<!-- Example ID: 91bff1f8-541d-455a-9de4-6cd8ff00ea66 --!> <!-- Example ID: 91bff1f8-541d-455a-9de4-6cd8ff00ea66 --->
```py ```py
from collections import OrderedDict from collections import OrderedDict
@ -455,7 +455,7 @@ What is going on here?
--- ---
### ▶ Keep trying? * ### ▶ Keep trying? *
<!-- Example ID: b4349443-e89f-4d25-a109-82616be9d41a --!> <!-- Example ID: b4349443-e89f-4d25-a109-82616be9d41a --->
```py ```py
def some_func(): def some_func():
try: try:
@ -515,7 +515,7 @@ Iteration 0
--- ---
### ▶ Deep down, we're all the same. * ### ▶ Deep down, we're all the same. *
<!-- Example ID: 8f99a35f-1736-43e2-920d-3b78ec35da9b --!> <!-- Example ID: 8f99a35f-1736-43e2-920d-3b78ec35da9b --->
```py ```py
class WTF: class WTF:
pass pass
@ -565,7 +565,7 @@ True
--- ---
### ▶ For what? ### ▶ For what?
<!-- Example ID: 64a9dccf-5083-4bc9-98aa-8aeecde4f210 --!> <!-- Example ID: 64a9dccf-5083-4bc9-98aa-8aeecde4f210 --->
```py ```py
some_string = "wtf" some_string = "wtf"
some_dict = {} some_dict = {}
@ -618,7 +618,7 @@ for i, some_dict[i] in enumerate(some_string):
--- ---
### ▶ Evaluation time discrepancy ^ ### ▶ Evaluation time discrepancy ^
<!-- Example ID: 6aa11a4b-4cf1-467a-b43a-810731517e98 --!> <!-- Example ID: 6aa11a4b-4cf1-467a-b43a-810731517e98 --->
1\. 1\.
```py ```py
array = [1, 8, 15] array = [1, 8, 15]
@ -684,7 +684,7 @@ array_4 = [400, 500, 600]
--- ---
### ▶ Messing around with `is` operator^ ### ▶ Messing around with `is` operator^
<!-- Example ID: 230fa2ac-ab36-4ad1-b675-5f5a1c1a6217 --!> <!-- Example ID: 230fa2ac-ab36-4ad1-b675-5f5a1c1a6217 --->
The following is a very famous example present all over the internet. The following is a very famous example present all over the internet.
1\. 1\.
@ -802,7 +802,7 @@ Similar optimization applies to other **immutable** objects like empty tuples as
--- ---
### ▶ A tic-tac-toe where X wins in the first attempt! ### ▶ A tic-tac-toe where X wins in the first attempt!
<!-- Example ID: 69329249-bdcb-424f-bd09-cca2e6705a7a --!> <!-- Example ID: 69329249-bdcb-424f-bd09-cca2e6705a7a --->
```py ```py
# Let's initialize a row # Let's initialize a row
row = [""]*3 #row i['', '', ''] row = [""]*3 #row i['', '', '']
@ -847,7 +847,7 @@ We can avoid this scenario here by not using `row` variable to generate `board`.
--- ---
### ▶ The sticky output function ### ▶ The sticky output function
<!-- Example ID: 4dc42f77-94cb-4eb5-a120-8203d3ed7604 --!> <!-- Example ID: 4dc42f77-94cb-4eb5-a120-8203d3ed7604 --->
```py ```py
funcs = [] funcs = []
results = [] results = []
@ -901,7 +901,7 @@ Even when the values of `x` were different in every iteration prior to appending
--- ---
### ▶ The chicken-egg problem ^ ### ▶ The chicken-egg problem ^
<!-- Example ID: 60730dc2-0d79-4416-8568-2a63323b3ce8 --!> <!-- Example ID: 60730dc2-0d79-4416-8568-2a63323b3ce8 --->
1\. 1\.
```py ```py
>>> isinstance(3, int) >>> isinstance(3, int)
@ -949,7 +949,7 @@ False
--- ---
### ▶ `is not ...` is not `is (not ...)` ### ▶ `is not ...` is not `is (not ...)`
<!-- Example ID: b26fb1ed-0c7d-4b9c-8c6d-94a58a055c0d --!> <!-- Example ID: b26fb1ed-0c7d-4b9c-8c6d-94a58a055c0d --->
```py ```py
>>> 'something' is not None >>> 'something' is not None
True True
@ -965,7 +965,7 @@ False
--- ---
### ▶ The surprising comma ### ▶ The surprising comma
<!-- Example ID: 31a819c8-ed73-4dcc-84eb-91bedbb51e58 --!> <!-- Example ID: 31a819c8-ed73-4dcc-84eb-91bedbb51e58 --->
**Output:** **Output:**
```py ```py
>>> def f(x, y,): >>> def f(x, y,):
@ -995,7 +995,7 @@ SyntaxError: invalid syntax
--- ---
### ▶ Strings and the backslashes\ ^ ### ▶ Strings and the backslashes\ ^
<!-- Example ID: 6ae622c3-6d99-4041-9b33-507bd1a4407b --!> <!-- Example ID: 6ae622c3-6d99-4041-9b33-507bd1a4407b --->
**Output:** **Output:**
```py ```py
>>> print("\"") >>> print("\"")
@ -1038,7 +1038,7 @@ True
--- ---
### ▶ not knot! ### ▶ not knot!
<!-- Example ID: 7034deb1-7443-417d-94ee-29a800524de8 --!> <!-- Example ID: 7034deb1-7443-417d-94ee-29a800524de8 --->
```py ```py
x = True x = True
y = False y = False
@ -1065,7 +1065,7 @@ SyntaxError: invalid syntax
--- ---
### ▶ Half triple-quoted strings ### ▶ Half triple-quoted strings
<!-- Example ID: c55da3e2-1034-43b9-abeb-a7a970a2ad9e --!> <!-- Example ID: c55da3e2-1034-43b9-abeb-a7a970a2ad9e --->
**Output:** **Output:**
```py ```py
>>> print('wtfpython''') >>> print('wtfpython''')
@ -1090,7 +1090,7 @@ wtfpython
--- ---
### ▶ Midnight time doesn't exist? ### ▶ Midnight time doesn't exist?
<!-- Example ID: 1bce8294-5619-4d70-8ce3-fe0bade690d1 --!> <!-- Example ID: 1bce8294-5619-4d70-8ce3-fe0bade690d1 --->
```py ```py
from datetime import datetime from datetime import datetime
@ -1120,7 +1120,7 @@ Before Python 3.5, the boolean value for `datetime.time` object was considered t
--- ---
### ▶ What's wrong with booleans? ### ▶ What's wrong with booleans?
<!-- Example ID: 0bba5fa7-9e6d-4cd2-8b94-952d061af5dd --!> <!-- Example ID: 0bba5fa7-9e6d-4cd2-8b94-952d061af5dd --->
1\. 1\.
```py ```py
# A simple example to count the number of booleans and # A simple example to count the number of booleans and
@ -1185,7 +1185,7 @@ for item in mixed_list:
--- ---
### ▶ Class attributes and instance attributes ### ▶ Class attributes and instance attributes
<!-- Example ID: 6f332208-33bd-482d-8106-42863b739ed9 --!> <!-- Example ID: 6f332208-33bd-482d-8106-42863b739ed9 --->
1\. 1\.
```py ```py
class A: class A:
@ -1255,7 +1255,7 @@ True
--- ---
### ▶ yielding None ### ▶ yielding None
<!-- Example ID: 5a40c241-2c30-40d0-8ba9-cf7e097b3b53 --!> <!-- Example ID: 5a40c241-2c30-40d0-8ba9-cf7e097b3b53 --->
```py ```py
some_iterable = ('a', 'b') some_iterable = ('a', 'b')
@ -1284,7 +1284,7 @@ def some_func(val):
--- ---
### ▶ Mutating the immutable! ### ▶ Mutating the immutable!
<!-- Example ID: 15a9e782-1695-43ea-817a-a9208f6bb33d --!> <!-- Example ID: 15a9e782-1695-43ea-817a-a9208f6bb33d --->
```py ```py
some_tuple = ("A", "tuple", "with", "values") some_tuple = ("A", "tuple", "with", "values")
another_tuple = ([1, 2], [3, 4], [5, 6]) another_tuple = ([1, 2], [3, 4], [5, 6])
@ -1317,7 +1317,7 @@ But I thought tuples were immutable...
--- ---
### ▶ The disappearing variable from outer scope ### ▶ The disappearing variable from outer scope
<!-- Example ID: 7f1e71b6-cb3e-44fb-aa47-87ef1b7decc8 --!> <!-- Example ID: 7f1e71b6-cb3e-44fb-aa47-87ef1b7decc8 --->
```py ```py
e = 7 e = 7
try: try:
@ -1397,7 +1397,7 @@ NameError: name 'e' is not defined
--- ---
### ▶ When True is actually False ### ▶ When True is actually False
<!-- Example ID: c8317047-48ae-4306-af5a-04c6d8b7c2b9 --!> <!-- Example ID: c8317047-48ae-4306-af5a-04c6d8b7c2b9 --->
```py ```py
True = False True = False
if True == False: if True == False:
@ -1417,7 +1417,7 @@ I've lost faith in truth!
--- ---
### ▶ Lossy zip of iterators ### ▶ Lossy zip of iterators
<!-- Example ID: c28ed154-e59f-4070-8eb6-8967a4acac6d --!> <!-- Example ID: c28ed154-e59f-4070-8eb6-8967a4acac6d --->
```py ```py
>>> numbers = list(range(7)) >>> numbers = list(range(7))
>>> numbers >>> numbers
@ -1466,7 +1466,7 @@ Where did element `3` go from the `numbers` list?
--- ---
### ▶ From filled to None in one instruction... ### ▶ From filled to None in one instruction...
<!-- Example ID: 9a0d5335-efe5-4eae-af44-584d15233066 --!> <!-- Example ID: 9a0d5335-efe5-4eae-af44-584d15233066 --->
```py ```py
some_list = [1, 2, 3] some_list = [1, 2, 3]
some_dict = { some_dict = {
@ -1494,7 +1494,7 @@ Most methods that modify the items of sequence/mapping objects like `list.append
--- ---
### ▶ Subclass relationships * ### ▶ Subclass relationships *
<!-- Example ID: 9f6d8cf0-e1b5-42d0-84a0-4cfab25a0bc0 --!> <!-- Example ID: 9f6d8cf0-e1b5-42d0-84a0-4cfab25a0bc0 --->
**Output:** **Output:**
```py ```py
>>> from collections import Hashable >>> from collections import Hashable
@ -1518,7 +1518,7 @@ The Subclass relationships were expected to be transitive, right? (i.e., if `A`
--- ---
### ▶ The mysterious key type conversion * ### ▶ The mysterious key type conversion *
<!-- Example ID: 00f42dd0-b9ef-408d-9e39-1bc209ce3f36 --!> <!-- Example ID: 00f42dd0-b9ef-408d-9e39-1bc209ce3f36 --->
```py ```py
class SomeClass(str): class SomeClass(str):
pass pass
@ -1574,7 +1574,7 @@ str
--- ---
### ▶ Let's see if you can guess this? ### ▶ Let's see if you can guess this?
<!-- Example ID: 81aa9fbe-bd63-4283-b56d-6fdd14c9105e --!> <!-- Example ID: 81aa9fbe-bd63-4283-b56d-6fdd14c9105e --->
```py ```py
a, b = a[b] = {}, 5 a, b = a[b] = {}, 5
``` ```
@ -1635,7 +1635,7 @@ a, b = a[b] = {}, 5
## Section: Appearances are deceptive! ## Section: Appearances are deceptive!
### ▶ Skipping lines? ### ▶ Skipping lines?
<!-- Example ID: d50bbde1-fb9d-4735-9633-3444b9d2f417 --!> <!-- Example ID: d50bbde1-fb9d-4735-9633-3444b9d2f417 --->
**Output:** **Output:**
```py ```py
>>> value = 11 >>> value = 11
@ -1671,7 +1671,7 @@ The built-in `ord()` function returns a character's Unicode [code point](https:/
--- ---
### ▶ Teleportation * ### ▶ Teleportation *
<!-- Example ID: edafe923-0c20-4315-b6e1-0c31abfc38f5 --!> <!-- Example ID: edafe923-0c20-4315-b6e1-0c31abfc38f5 --->
```py ```py
import numpy as np import numpy as np
@ -1701,7 +1701,7 @@ Where's the Nobel Prize?
--- ---
### ▶ Well, something is fishy... ### ▶ Well, something is fishy...
<!-- Example ID: cb6a37c5-74f7-44ca-b58c-3b902419b362 --!> <!-- Example ID: cb6a37c5-74f7-44ca-b58c-3b902419b362 --->
```py ```py
def square(x): def square(x):
""" """
@ -1746,7 +1746,7 @@ Shouldn't that be 100?
### ▶ Modifying a dictionary while iterating over it ### ▶ Modifying a dictionary while iterating over it
<!-- Example ID: b4e5cdfb-c3a8-4112-bd38-e2356d801c41 --!> <!-- Example ID: b4e5cdfb-c3a8-4112-bd38-e2356d801c41 --->
```py ```py
x = {0: None} x = {0: None}
@ -1781,7 +1781,7 @@ Yes, it runs for exactly **eight** times and stops.
--- ---
### ▶ Stubborn `del` operation * ### ▶ Stubborn `del` operation *
<!-- Example ID: 777ed4fd-3a2d-466f-95e7-c4058e61d78e --!> <!-- Example ID: 777ed4fd-3a2d-466f-95e7-c4058e61d78e --->
```py ```py
class SomeClass: class SomeClass:
def __del__(self): def __del__(self):
@ -1824,7 +1824,7 @@ Okay, now it's deleted :confused:
--- ---
### ▶ Deleting a list item while iterating ### ▶ Deleting a list item while iterating
<!-- Example ID: 4cc52d4e-d42b-4e09-b25f-fbf5699b7d4e --!> <!-- Example ID: 4cc52d4e-d42b-4e09-b25f-fbf5699b7d4e --->
```py ```py
list_1 = [1, 2, 3, 4] list_1 = [1, 2, 3, 4]
list_2 = [1, 2, 3, 4] list_2 = [1, 2, 3, 4]
@ -1884,7 +1884,7 @@ Can you guess why the output is `[2, 4]`?
--- ---
### ▶ Loop variables leaking out! ### ▶ Loop variables leaking out!
<!-- Example ID: ccec7bf6-7679-4963-907a-1cd8587be9ea --!> <!-- Example ID: ccec7bf6-7679-4963-907a-1cd8587be9ea --->
1\. 1\.
```py ```py
for x in range(7): for x in range(7):
@ -1948,7 +1948,7 @@ print(x, ': x in global')
--- ---
### ▶ Beware of default mutable arguments! ### ▶ Beware of default mutable arguments!
<!-- Example ID: 7d42dade-e20d-4a7b-9ed7-16fb58505fe9 --!> <!-- Example ID: 7d42dade-e20d-4a7b-9ed7-16fb58505fe9 --->
```py ```py
def some_func(default_arg=[]): def some_func(default_arg=[]):
default_arg.append("some_string") default_arg.append("some_string")
@ -2005,7 +2005,7 @@ def some_func(default_arg=[]):
--- ---
### ▶ Catching the Exceptions ### ▶ Catching the Exceptions
<!-- Example ID: b5ca5e6a-47b9-4f69-9375-cda0f8c6755d --!> <!-- Example ID: b5ca5e6a-47b9-4f69-9375-cda0f8c6755d --->
```py ```py
some_list = [1, 2, 3] some_list = [1, 2, 3]
try: try:
@ -2080,7 +2080,7 @@ SyntaxError: invalid syntax
--- ---
### ▶ Same operands, different story! ### ▶ Same operands, different story!
<!-- Example ID: ca052cdf-dd2d-4105-b936-65c28adc18a0 --!> <!-- Example ID: ca052cdf-dd2d-4105-b936-65c28adc18a0 --->
1\. 1\.
```py ```py
a = [1, 2, 3, 4] a = [1, 2, 3, 4]
@ -2122,7 +2122,7 @@ a += [5, 6, 7, 8]
--- ---
### ▶ The out of scope variable ### ▶ The out of scope variable
<!-- Example ID: 75c03015-7be9-4289-9e22-4f5fdda056f7 --!> <!-- Example ID: 75c03015-7be9-4289-9e22-4f5fdda056f7 --->
```py ```py
a = 1 a = 1
def some_func(): def some_func():
@ -2161,7 +2161,7 @@ UnboundLocalError: local variable 'a' referenced before assignment
--- ---
### ▶ Be careful with chained operations ### ▶ Be careful with chained operations
<!-- Example ID: 07974979-9c86-4720-80bd-467aa19470d9 --!> <!-- Example ID: 07974979-9c86-4720-80bd-467aa19470d9 --->
```py ```py
>>> (False == False) in [False] # makes sense >>> (False == False) in [False] # makes sense
False False
@ -2206,7 +2206,7 @@ While such behavior might seem silly to you in the above examples, it's fantasti
--- ---
### ▶ Name resolution ignoring class scope ### ▶ Name resolution ignoring class scope
<!-- Example ID: 03f73d96-151c-4929-b0a8-f74430788324 --!> <!-- Example ID: 03f73d96-151c-4929-b0a8-f74430788324 --->
1\. 1\.
```py ```py
x = 5 x = 5
@ -2250,7 +2250,7 @@ class SomeClass:
--- ---
### ▶ Needles in a Haystack ^ ### ▶ Needles in a Haystack ^
<!-- Example ID: 52a199b1-989a-4b28-8910-dff562cebba9 --!> <!-- Example ID: 52a199b1-989a-4b28-8910-dff562cebba9 --->
1\. 1\.
```py ```py
x, y = (0, 1) if True else None, None x, y = (0, 1) if True else None, None
@ -2415,7 +2415,7 @@ Same result, that didn't work either.
--- ---
### ▶ Wild imports ### ▶ Wild imports
<!-- Example ID: 83deb561-bd55-4461-bb5e-77dd7f411e1c --!> <!-- Example ID: 83deb561-bd55-4461-bb5e-77dd7f411e1c --->
```py ```py
# File: module.py # File: module.py
@ -2478,7 +2478,7 @@ NameError: name 'some_weird_name_func_' is not defined
This section contains few of the lesser-known interesting things about Python that most beginners like me are unaware of (well, not anymore). This section contains few of the lesser-known interesting things about Python that most beginners like me are unaware of (well, not anymore).
### ▶ Okay Python, Can you make me fly? * ### ▶ Okay Python, Can you make me fly? *
<!-- Example ID: a92f3645-1899-4d50-9721-0031be4aec3f --!> <!-- Example ID: a92f3645-1899-4d50-9721-0031be4aec3f --->
Well, here you go Well, here you go
```py ```py
@ -2496,7 +2496,7 @@ Sshh.. It's a super secret.
--- ---
### ▶ `goto`, but why? * ### ▶ `goto`, but why? *
<!-- Example ID: 2aff961e-7fa5-4986-a18a-9e5894bd89fe --!> <!-- Example ID: 2aff961e-7fa5-4986-a18a-9e5894bd89fe --->
```py ```py
from goto import goto, label from goto import goto, label
for i in range(9): for i in range(9):
@ -2524,7 +2524,7 @@ Freedom!
--- ---
### ▶ Brace yourself! * ### ▶ Brace yourself! *
<!-- Example ID: 5c0c75f2-ddd9-4da3-ba49-c4be7ec39acf --!> <!-- Example ID: 5c0c75f2-ddd9-4da3-ba49-c4be7ec39acf --->
If you are one of the people who doesn't like using whitespace in Python to denote scopes, you can use the C-style {} by importing, If you are one of the people who doesn't like using whitespace in Python to denote scopes, you can use the C-style {} by importing,
```py ```py
@ -2549,7 +2549,7 @@ Braces? No way! If you think that's disappointing, use Java. Okay, another surpr
--- ---
### ▶ Let's meet Friendly Language Uncle For Life ^ ### ▶ Let's meet Friendly Language Uncle For Life ^
<!-- Example ID: 6427fae6-e959-462d-85da-ce4c94ce41be --!> <!-- Example ID: 6427fae6-e959-462d-85da-ce4c94ce41be --->
**Output (Python 3.x)** **Output (Python 3.x)**
```py ```py
>>> from __future__ import barry_as_FLUFL >>> from __future__ import barry_as_FLUFL
@ -2580,7 +2580,7 @@ There we go.
--- ---
### ▶ Even Python understands that love is complicated * ### ▶ Even Python understands that love is complicated *
<!-- Example ID: b93cad9e-d341-45d1-999c-fcdce65bed25 --!> <!-- Example ID: b93cad9e-d341-45d1-999c-fcdce65bed25 --->
```py ```py
import this import this
``` ```
@ -2637,7 +2637,7 @@ True
--- ---
### ▶ Yes, it exists! ### ▶ Yes, it exists!
<!-- Example ID: 4286db3d-1ea7-47c9-8fb6-a9a04cac6e49 --!> <!-- Example ID: 4286db3d-1ea7-47c9-8fb6-a9a04cac6e49 --->
**The `else` clause for loops.** One typical example might be: **The `else` clause for loops.** One typical example might be:
```py ```py
@ -2681,7 +2681,7 @@ Try block executed successfully...
--- ---
### ▶ Ellipsis ^ ### ▶ Ellipsis ^
<!-- Example ID: 969b7100-ab3d-4a7d-ad7d-a6be16181b2b --!> <!-- Example ID: 969b7100-ab3d-4a7d-ad7d-a6be16181b2b --->
```py ```py
def some_func(): def some_func():
Ellipsis Ellipsis
@ -2741,7 +2741,7 @@ Ellipsis
--- ---
### ▶ Inpinity * ### ▶ Inpinity *
<!-- Example ID: ff473ea8-a3b1-4876-a6f0-4378aff790c1 --!> <!-- Example ID: ff473ea8-a3b1-4876-a6f0-4378aff790c1 --->
The spelling is intended. Please, don't submit a patch for this. The spelling is intended. Please, don't submit a patch for this.
**Output (Python 3.x):** **Output (Python 3.x):**
@ -2760,7 +2760,7 @@ The spelling is intended. Please, don't submit a patch for this.
--- ---
### ▶ Let's mangle ^ ### ▶ Let's mangle ^
<!-- Example ID: 37146d2d-9e67-43a9-8729-3c17934b910c --!> <!-- Example ID: 37146d2d-9e67-43a9-8729-3c17934b910c --->
1\. 1\.
```py ```py
class Yo(object): class Yo(object):
@ -2848,7 +2848,7 @@ AttributeError: 'A' object has no attribute '__variable'
### ▶ `+=` is faster ### ▶ `+=` is faster
<!-- Example ID: bfd19c60-a807-4a26-9598-4912b86ddb36 --!> <!-- Example ID: bfd19c60-a807-4a26-9598-4912b86ddb36 --->
```py ```py
# using "+", three strings: # using "+", three strings:
>>> timeit.timeit("s1 = s1 + s2 + s3", setup="s1 = ' ' * 100000; s2 = ' ' * 100000; s3 = ' ' * 100000", number=100) >>> timeit.timeit("s1 = s1 + s2 + s3", setup="s1 = ' ' * 100000; s2 = ' ' * 100000; s3 = ' ' * 100000", number=100)
@ -2864,7 +2864,7 @@ AttributeError: 'A' object has no attribute '__variable'
--- ---
### ▶ Let's make a giant string! ### ▶ Let's make a giant string!
<!-- Example ID: c7a07424-63fe-4504-9842-8f3d334f28fc --!> <!-- Example ID: c7a07424-63fe-4504-9842-8f3d334f28fc --->
```py ```py
def add_string_with_plus(iters): def add_string_with_plus(iters):
s = "" s = ""
@ -2957,7 +2957,7 @@ Let's increase the number of iterations by a factor of 10.
--- ---
### ▶ Explicit typecast of strings ### ▶ Explicit typecast of strings
<!-- Example ID: 59bee91a-36e0-47a4-8c7d-aa89bf1d3976 --!> <!-- Example ID: 59bee91a-36e0-47a4-8c7d-aa89bf1d3976 --->
```py ```py
a = float('inf') a = float('inf')
b = float('nan') b = float('nan')
@ -2996,7 +2996,7 @@ nan
--- ---
### ▶ Minor Ones ### ▶ Minor Ones
<!-- Example ID: f885cb82-f1e4-4daa-9ff3-972b14cb1324 --!> <!-- Example ID: f885cb82-f1e4-4daa-9ff3-972b14cb1324 --->
* `join()` is a string operation instead of list operation. (sort of counter-intuitive at first usage) * `join()` is a string operation instead of list operation. (sort of counter-intuitive at first usage)
**💡 Explanation:** **💡 Explanation:**