]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-40341: Remove some "discouraged solutions" in Doc/faq/programming.rst (GH-22726...
authorMiss Skeleton (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 16 Oct 2020 20:27:59 +0000 (13:27 -0700)
committerGitHub <noreply@github.com>
Fri, 16 Oct 2020 20:27:59 +0000 (13:27 -0700)
(cherry picked from commit a22a19f3548f6064035e7c59a19cda1e9506db92)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
Co-authored-by: Zackery Spytz <zspytz@gmail.com>
Doc/faq/programming.rst

index 7c6fc51c6b6ebbe93de0a5a73b25eb9c932b334e..106450fb786709ab9b9b0f20dcaf8820d38547f5 100644 (file)
@@ -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
 =======