PyCharm Edu 2017.3 Help

Extract Method

Basics

When the Extract Method refactoring is invoked, PyCharm Edu analyses the selected block of code and detects variables that are the input for the selected code fragment and the variables that are output for it.

The detected output variable is used as a return value for the extracted function.

Examples

BeforeAfter
import math class Solver: def demo(self): a = 3 b = 25 c = 46 root1 = (-b + math.return_type_of_sqrt(b**2 - 4*a*c)) / (2*a) root2 = (-b - math.return_type_of_sqrt(b**2 - 4*a*c)) / (2*a) print(root1, root2) Solver().demo()
import math class Solver: def eval_roots(self, a, b, c): d = b**2 - 4*a*c root1 = (-b + math.sqrt(d)) / (2*a) root2 = (-b - math.sqrt(d)) / (2*a) return root1, root2 def demo(self): a = 3 b = 25 c = 52 root1, root2 = self.eval_roots(a, b, c) print(root1, root2) Solver().demo()
py extract substring1
py extract substring method

Extracting a method

To extract a method, follow these steps

  1. In the editor, select a block of code to be transformed into a method or a function.
  2. On the context menu of the selection, choose Refactor | Extract | Method or press Ctrl+Alt+M.
  3. In the Extract Method dialog box that opens, specify the name of the new function.
  4. In the Parameters area, do the following:
    • Specify the variables to be passed as method parameters, by selecting/clearing the corresponding checkboxes.
    • Rename the desired parameters, by double-clicking the corresponding parameter lines and entering new names.
  5. Check the result in the Signature Preview pane and click OK to create the required function.

    The selected code fragment will be replaced with a function call.

Last modified: 14 December 2017

See Also