--- id: python-global-variables title: "Python Global Variables" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["global keyword", "파이썬 전역 변수"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.9 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["python", "programming", "w3schools", "variables", "scope", "global"] raw_sources: ["https://www.w3schools.com/python/python_variables_global.asp"] applied_in: [] github_commit: "" --- # [[Python Global Variables]] ## 🎯 한 줄 통찰 (One-line insight) A variable created outside any function is global and visible everywhere, but assigning to a same-named variable inside a function creates a separate local shadow — unless the `global` keyword explicitly binds it to the outer scope. [S1] ## 🧠 핵심 개념 (Core concepts) - **Global variable** — created outside a function; usable both inside and outside functions. [S1] - **Shadowing** — creating a same-named variable inside a function makes it local to that function; the global variable of the same name is untouched. [S1] - **`global` keyword** — declares that a variable inside a function refers to the global scope, both for creating and for modifying it. [S1] ## 🧩 추출된 패턴 (Extracted patterns) - **Local-by-default assignment** — assignment inside a function is local unless `global` is explicitly declared, which is a common source of confusion for beginners expecting the outer variable to change. [S1] ## 📖 세부 내용 (Details) - Read a global variable inside a function: `x = "awesome"; def myfunc(): print("Python is " + x); myfunc()`. [S1] - Shadowing (local wins inside the function, global unaffected outside): `x = "awesome"; def myfunc(): x = "fantastic"; print("Python is " + x); myfunc(); print("Python is " + x)` — prints "fantastic" then "awesome". [S1] - Using `global` to modify the outer variable: `x = "awesome"; def myfunc(): global x; x = "fantastic"; myfunc(); print("Python is " + x)` — prints "fantastic" after the call. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) 소스에서 모순되는 정보는 발견되지 않음. ## 🛠️ 적용 사례 (Applied in summary) 현재 발견된 실제 적용 사례가 없습니다 — Python Scope 챕터에서 지역/전역 범위 규칙이 더 체계적으로 다뤄진다. [S1] ## 💻 코드 패턴 (Code patterns) Modify a global variable inside a function (Python): ```python x = "awesome" def myfunc(): global x x = "fantastic" myfunc() print("Python is " + x) ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.90 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[Python Tutorial]] - **관련 개념:** [[Python Variables]], [[Python Scope]], [[Python Functions]] - **참조 맥락:** 함수 내부/외부 변수 범위 규칙의 기초 — Scope 챕터에서 더 체계적으로 확장. ## 📚 출처 (Sources) - [S1] W3Schools — Python - Global Variables — https://www.w3schools.com/python/python_variables_global.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "Python - Global Variables" page (Astra wiki-curation, P-Reinforce v3.1 format).