[Python-checkins] bpo-40341: Remove some "discouraged solutions" in Doc/faq/programming.rst (GH-22726) (GH-22727)
Miss Skeleton (bot)
webhook-mailer at python.org
Fri Oct 16 16:28:08 EDT 2020
https://github.com/python/cpython/commit/0fbddb14dc03f61738af01af88e7d8aa8df07336
commit: 0fbddb14dc03f61738af01af88e7d8aa8df07336
branch: 3.9
author: Miss Skeleton (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2020-10-16T13:27:59-07:00
summary:
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 at gmail.com>
Co-authored-by: Zackery Spytz <zspytz at gmail.com>
files:
M Doc/faq/programming.rst
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index 7c6fc51c6b6eb..106450fb78670 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
=======
More information about the Python-checkins
mailing list