diff options
author | Zackery Spytz <zspytz@gmail.com> | 2020-10-16 18:44:17 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-16 18:44:17 (GMT) |
commit | a22a19f3548f6064035e7c59a19cda1e9506db92 (patch) | |
tree | 9e786133e1b07b7a60fd25f52aa6f810c52157ba /Doc/faq/programming.rst | |
parent | 1dd6d956a3ddf2cf6d4a69241dba8cd1379421b9 (diff) | |
download | cpython-a22a19f3548f6064035e7c59a19cda1e9506db92.zip cpython-a22a19f3548f6064035e7c59a19cda1e9506db92.tar.gz cpython-a22a19f3548f6064035e7c59a19cda1e9506db92.tar.bz2 |
bpo-40341: Remove some "discouraged solutions" in Doc/faq/programming.rst (GH-22726)
Diffstat (limited to 'Doc/faq/programming.rst')
-rw-r--r-- | Doc/faq/programming.rst | 22 |
1 files changed, 1 insertions, 21 deletions
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst index 7bcedb0..2d542cf 100644 --- a/Doc/faq/programming.rst +++ b/Doc/faq/programming.rst @@ -942,7 +942,7 @@ There are various techniques. f() -* Use :func:`locals` or :func:`eval` to resolve the function name:: +* Use :func:`locals` to resolve the function name:: def myFunc(): print("hello") @@ -952,12 +952,6 @@ There are various techniques. f = locals()[fname] f() - f = eval(fname) - f() - - Note: Using :func:`eval` is slow and dangerous. If you don't have absolute - control over the contents of the string, someone could pass a string that - resulted in an arbitrary function being executed. Is there an equivalent to Perl's chomp() for removing trailing newlines from strings? ------------------------------------------------------------------------------------- @@ -1381,20 +1375,6 @@ out the element you want. :: ['else', 'sort', 'to', 'something'] -An alternative for the last step is:: - - >>> result = [] - >>> for p in pairs: result.append(p[1]) - -If you find this more legible, you might prefer to use this instead of the final -list comprehension. However, it is almost twice as slow for long lists. Why? -First, the ``append()`` operation has to reallocate memory, and while it uses -some tricks to avoid doing that each time, it still has to do it occasionally, -and that costs quite a bit. Second, the expression "result.append" requires an -extra attribute lookup, and third, there's a speed reduction from having to make -all those function calls. - - Objects ======= |