# Variable Scope

## Variable Scope

The scope of a variable is where you can access it.

{% hint style="info" %}
One way to think about the scope of a variable is where it lives and who can see it in a program.
{% endhint %}

### Global Variable

A global variable is defined outside of functions and is visible to all functions that are defined after it.&#x20;

{% code title="scope.py" %}

```python
x = 10

def main():
   print(x)
   
main()
```

{% endcode %}

What is the output of this program?

### Local Variable

A local variable is defined within a function.  Another way to think about it is, a variable that is declared inside a function, stays inside the function. &#x20;

```python
def main():
    x = 10
    print(x)
main()
```

What is the output of this program?

### Local vs Global Variable

```python
x = 10

def main():
    x = 11
    print(x)
    
main()
```

What is the output of this program?


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.pythonclassroom.com/functions/variable-scope.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
