diff options
author | Miss Skeleton (bot) <31488909+miss-islington@users.noreply.github.com> | 2020-10-16 20:27:59 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-16 20:27:59 (GMT) |
commit | 0fbddb14dc03f61738af01af88e7d8aa8df07336 (patch) | |
tree | e12b2b78cb0f19a0de318c4d916288134fdd27bd | |
parent | dff9161821032acfd2588d42d88511ebdbabaaf3 (diff) | |
download | cpython-0fbddb14dc03f61738af01af88e7d8aa8df07336.zip cpython-0fbddb14dc03f61738af01af88e7d8aa8df07336.tar.gz cpython-0fbddb14dc03f61738af01af88e7d8aa8df07336.tar.bz2 |
bpo-40341: Remove some "discouraged solutions" in Doc/faq/programming.rst (GH-22726) (GH-22727)
(cherry picked from commit a22a19f3548f6064035e7c59a19cda1e9506db92)
Co-authored-by: Zackery Spytz <zspytz@gmail.com>
Co-authored-by: Zackery Spytz <zspytz@gmail.com>
-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 7c6fc51..106450f 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 ======= |