- How to Fix – SyntaxError: return outside function
- What is the return statement?
- Why does the SyntaxError: return outside function occur?
- 1. Check for missing or misplaced function definitions
- 2. Check for indentation errors
- Conclusion
- Author
- Syntaxerror ‘return’ Внешняя функция Ошибка Python [Causes & How To Fix]
- Понимание оператора return в Python
- Что вызывает ошибку «SyntaxError: ‘return’ Outside Function’?
- Как исправить ошибку «SyntaxError: ‘return’ Outside Function»?
- Заключение
- How to fix “SyntaxError: ‘return’ outside function” in Python
- Psssst! Do you want to learn web development in 2023?
- How to fix the «‘return’ outside function» error?
- ❤️ You might be also interested in:
How to Fix – SyntaxError: return outside function
The “SyntaxError: return outside function” error occurs when you try to use the return statement outside of a function in Python. This error is usually caused by a mistake in your code, such as a missing or misplaced function definition or incorrect indentation on the line containing the return statement.
In this tutorial, we will look at the scenarios in which you may encounter the SyntaxError: return outside function error and the possible ways to fix it.
📚 Discover Online Data Science Courses & Programs (Enroll for Free)
Introductory ⭐
Intermediate ⭐⭐⭐
🔎 Find Data Science Programs 👨💻 111,889 already enrolled
Disclaimer: Data Science Parichay is reader supported. When you purchase a course through a link on this site, we may earn a small commission at no additional cost to you. Earned commissions help support this website and its team of writers.
What is the return statement?
A return statement is used to exit a function and return a value to the caller. It can be used with or without a value. Here’s an example:
# function that returns if a number is even or not def is_even(n): return n % 2 == 0 # call the function res = is_even(6) # display the result print(res)
In the above example, we created a function called is_even() that takes a number as an argument and returns True if the number is even and False if the number is odd. We then call the function to check if 6 is odd or even. We then print the returned value.
Why does the SyntaxError: return outside function occur?
The error message is very helpful here in understanding the error. This error occurs when the return statement is placed outside a function. As mentioned above, we use a return statement to exit a function. Now, if you use a return statement outside a function, you may encounter this error.
The following are two common scenarios where you may encounter this error.
1. Check for missing or misplaced function definitions
The most common cause of the “SyntaxError: return outside function” error is a missing or misplaced function definition. Make sure that all of your return statements are inside a function definition.
For example, consider the following code:
print("Hello, world!") return 0
Hello, world! Cell In[50], line 2 return 0 ^ SyntaxError: 'return' outside function
This code will produce the “SyntaxError: return outside function” error because the return statement is not inside a function definition.
To fix this error, you need to define a function and put the return statement inside it. Here’s an example:
def say_hello(): print("Hello, world!") return 0 say_hello()
Note that here we placed the return statement inside the function say_hello() . Note that it is not necessary for a function to have a return statement but if you have a return statement, it must be inside a function enclosure.
2. Check for indentation errors
Another common cause of the “SyntaxError: return outside function” error is an indentation error. In Python, indentation is used to indicate the scope of a block of code, such as a function definition.
Make sure that all of your return statements are indented correctly and are inside the correct block of code.
For example, consider the following code:
def say_hello(): print("Hello, world!") return 0 say_hello()
Cell In[52], line 3 return 0 ^ SyntaxError: 'return' outside function
In the above example, we do have a function and a return statement but the return statement is not enclosed insdie the function’s scope. To fix the above error, indent the return statement such that it’s correctly inside the say_hello() function.
def say_hello(): print("Hello, world!") return 0 say_hello()
Conclusion
The “SyntaxError: return outside function” error is a common error in Python that is usually caused by a missing or misplaced function definition or an indentation error. By following the steps outlined in this tutorial, you should be able to fix this error and get your code running smoothly.
You might also be interested in –
Author
Piyush is a data professional passionate about using data to understand things better and make informed decisions. He has experience working as a Data Scientist in the consulting domain and holds an engineering degree from IIT Roorkee. His hobbies include watching cricket, reading, and working on side projects. View all posts
Data Science Parichay is an educational website offering easy-to-understand tutorials on topics in Data Science with the help of clear and fun examples.
Syntaxerror ‘return’ Внешняя функция Ошибка Python [Causes & How To Fix]
В этом руководстве по Python я покажу вам, как исправить, синтаксическая ошибка ‘возврат’ вне функции python ошибка с несколькими примерами.
«SyntaxError: «возврат» внешней функции» довольно распространен в Python, особенно среди новичков. Эта ошибка говорит сама за себя: она указывает на то, что оператор «return» использовался вне функции. В этом руководстве мы подробно рассмотрим, почему возникает эта ошибка, и предложим способы ее исправления.
Понимание оператора return в Python
Чтобы понять ошибку, сначала необходимо понять роль оператора «return» в Python. Оператор «return» используется в функции для завершения выполнения вызова функции и «возвращает» результат (значение) вызывающей стороне. Операторы после оператора return не выполняются.
def add_numbers(num1, num2): result = num1 + num2 return result print(add_numbers(5, 7)) # Outputs: 12
В этом коде у нас есть функция add_numbers, которая складывает два числа и использует оператор return для отправки результата обратно вызывающей стороне.
Что вызывает ошибку «SyntaxError: ‘return’ Outside Function’?
Как следует из сообщения об ошибке, это происходит, когда оператор return используется вне функции. В Python return можно использовать только в определении функции. Использование его в другом месте, например, в циклах, условных выражениях или просто само по себе, не допускается и приведет к ошибке SyntaxError.
Вот пример, который выдаст эту ошибку. Допустим, у вас есть список оценок, и вы хотите рассчитать среднюю оценку. Вы можете написать что-то вроде этого:
grades = [85, 90, 78, 92, 88] total = sum(grades) average = total / len(grades) return average
Если вы запустите этот скрипт, он выдаст SyntaxError: ‘return’ outside function потому что вы используете return в основной части скрипта, а не внутри функции.
Вы можете увидеть сообщение об ошибке:
Как исправить ошибку «SyntaxError: ‘return’ Outside Function»?
Исправление этой ошибки довольно простое: убедитесь, что оператор «return» используется только внутри определений функций.
Если вы пытаетесь использовать return в своем основном скрипте, подумайте, действительно ли вы хотите вернуть значение. Если вы пытаетесь вывести значение на консоль, используйте вместо этого функцию print(). Если вы пытаетесь завершить выполнение своего скрипта, рассмотрите возможность использования «sys.exit()».
Вот как вы можете исправить ошибку, показанную в предыдущем разделе:
def calculate_average(grades): total = sum(grades) average = total / len(grades) return average grades = [85, 90, 78, 92, 88] print(calculate_average(grades)) # Outputs: 86.6
В этом исправленном коде мы создали функцию с именем calculate_average который берет список оценок, вычисляет среднее значение, а затем возвращает его. Сейчас return оператор правильно размещен внутри функции, поэтому нет SyntaxError . Наконец, мы вызываем эту функцию и печатаем возвращаемое значение.
Заключение
‘SyntaxError: ‘возврат’ вне функции’ ошибок в Python можно избежать, обеспечив правильное использование операторов return только в теле определений функций.
Вам также может понравиться:
Я Биджай Кумар, Microsoft MVP в SharePoint. Помимо SharePoint, последние 5 лет я начал работать над Python, машинным обучением и искусственным интеллектом. За это время я приобрел опыт работы с различными библиотеками Python, такими как Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn и т. д. для различных клиентов в США, Канаде, Великобритании, Австралии, Новая Зеландия и т. д. Проверьте мой профиль.
How to fix “SyntaxError: ‘return’ outside function” in Python
Python raises the error “SyntaxError: ‘return’ outside function” once it encounters a return statement outside a function.
Here’s what the error looks like:
File /dwd/sandbox/test.py, line 4 return True ^^^^^^^^^^^ SyntaxError: 'return' outside function
Based on Python’s syntax & semantics, a return statement may only be used in a function to return a value to the caller.
However, if — for some reason — a return statement isn’t nested in a function, Python’s interpreter raises the «SyntaxError: ‘return’ outside function» error.
How much do web developers make in the US?
Using the return statement outside a function isn’t something you’d do on purpose, though; This error usually happens when the indentation-level of a return statement isn’t consistent with the rest of the function.
Additionally, it can occur when you accidentally use a return statement to break out of a loop (rather than using the break statement)
Psssst! Do you want to learn web development in 2023?
How to fix the «‘return’ outside function» error?
This syntax error happens under various scenarios including:
Let’s explore each scenario with some examples.
Inconsistent indentation: A common cause of this syntax error is an inconsistent indentation, meaning Python doesn’t consider the return statement a part of a function because its indentation level is different.
How to learn to code without a technical background
In the following example, we have a function that accepts a number and checks if it’s an even number:
# 🚫 SyntaxError: 'return' outside function def isEven(value): remainder = value % 2 # if the remainder of the division is zero, it's even return remainder == 0
As you probably noticed, we hadn’t indented the return statement relative to the isEven() function.
To fix it, we correct the indentation like so:
# ✅ Correct def isEven(value): remainder = value % 2 # if the remainder of the division is zero, it's even return remainder == 0
# 🚫 SyntaxError: 'return' outside function def check_age(age): print('checking the rating. ') # if the user is under 12, don't play the movie if (age 12): print('The movie can\'t be played!') return
In the above code, the if block has the same indentation level as the top-level code. As a result, the return statement is considered outside the function.
How to become a web developer when you have no degree
To fix the error, we bring the whole if block to the same indentation level as the function.
# ✅ Correct def check_age(age): print('checking the rating. ') # if the user is under 12, don't play the movie if (age 12): print('The movie can\'t be played!') return print('Playing the movie') check_age(25) # output: Playing the movie
Using the return statement to break out of a loop: Another reason for this error is using a return statement to stop a for loop located in the top-level code.
The following code is supposed to print the first fifteen items of a range object:
# 🚫 SyntaxError: 'return' outside function items = range(1, 100) # print the first 15 items for i in items: if i > 15: return print(i)
However, based on Python’s semantics, the return statement isn’t used to break out of functions — You should use the break statement instead:
# ✅ Correct items = range(1, 100) # print the first 15 items for i in items: if i > 15: break print(i)
In conclusion, always make sure the return statement is indented relative to its surrounding function. Or if you’re using it to break out of a loop, replace it with a break statement.
Alright, I think it does it. I hope this quick guide helped you solve your problem.
Reza Lavarian Hey 👋 I’m a software engineer, an author, and an open-source contributor. I enjoy helping people (including myself) decode the complex side of technology. I share my findings on Twitter: @rlavarian
If you read this far, you can tweet to the author to show them you care.