This rule raises an issue when `return` or `yield` are used outside of a function. == Why is this an issue? `yield` and `return` only make sense in the context of functions. Using them outside a function raises a `SyntaxError`. If the goal is to break out of a loop, use `break` instead of `return`. === Code examples ==== Noncompliant code example [source,python,diff-id=1,diff-type=noncompliant] ---- a = 1 while a < 3: if a % 2 == 0: return # Noncompliant: return is outside of a function a += 1 for n in range(5): yield n # Noncompliant: yield is outside of a function ---- ==== Compliant solution [source,python,diff-id=1,diff-type=compliant] ---- a = 1 while a < 3: if a % 2 == 0: break a += 1 def gen(): for n in range(5): yield n ---- == Resources === Documentation * Python Documentation - https://docs.python.org/3/reference/expressions.html?highlight=yield#yield-expressions[Yield expressions] * Python Documentation - https://docs.python.org/3/reference/simple_stmts.html?highlight=return%20tatement#the-return-statement[Return statement] ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Remove this use of "xxx". ''' == Comments And Links (visible only on this page) === on 17 Mar 2015, 07:59:40 Elena Vilchik wrote: Pylint rules E0104: Return outside function E0105: Yield outside function endif::env-github,rspecator-view[]