728x90 파이썬기초61 [PYTHON] 함수 안에서 전역 변수를 수정하려면? (global 키워드) 파이썬 프로그래밍을 배우다 보면 가장 먼저 마주하는 난관 중 하나가 바로 '변수의 범위(Scope)'입니다. 특히 함수 내부에서 함수 외부에 선언된 변수(전역 변수)의 값을 읽는 것은 가능하지만, 값을 수정하려고 할 때 예기치 않은 오류(UnboundLocalError)가 발생하거나 값이 변하지 않는 현상을 겪게 됩니다. 이때 구원 투수로 등장하는 것이 바로 global 키워드입니다. 본 포스팅에서는 단순한 문법 설명을 넘어, 왜 파이썬이 이러한 구조를 가지고 있는지, global 키워드를 언제 사용해야 하며, 실무에서는 왜 이를 지양하고 대안을 찾는지 전문 개발자의 관점에서 심도 있게 다룹니다.1. 파이썬의 변수 범위: LEGB 규칙파이썬은 변수를 찾을 때 LEGB 규칙을 따릅니다. 이는 변수가 어디에.. 2026. 2. 13. [PYTHON] 지역 변수(Local)와 전역 변수(Global)의 완벽 가이드 : 스코프의 원리와 메모리 관리 파이썬 프로그래밍을 시작할 때 가장 먼저 마주하는 벽 중 하나가 바로 변수의 범위(Scope)입니다. "분명 변수를 선언했는데 왜 함수 밖에서는 사용할 수 없을까?" 혹은 "함수 안에서 값을 바꿨는데 왜 원래 변수는 그대로일까?"와 같은 의문은 모두 지역 변수(Local Variable)와 전역 변수(Global Variable)의 차이에서 기인합니다. 이 글에서는 파이썬의 변수 유효 범위가 결정되는 방식인 LEGB 룰을 바탕으로, 효율적인 메모리 관리와 코드 가독성을 높이기 위한 변수 활용 전략을 심층적으로 다룹니다.1. 변수의 스코프(Scope)란 무엇인가?스코프는 프로그래밍 언어에서 변수가 유효한 범위를 의미합니다. 파이썬은 변수가 선언된 위치에 따라 해당 변수에 접근할 수 있는 영역을 엄격히 제한.. 2026. 2. 13. [PYTHON] 매개변수(Parameter)와 인자(Argument)의 차이는? : 개념적 정의부터 메모리 구조까지 파이썬을 비롯한 모든 프로그래밍 언어를 학습할 때 가장 먼저 접하게 되는 기본 단위는 '함수(Function)'입니다. 하지만 함수를 정의하고 호출하는 과정에서 혼용되는 용어인 매개변수(Parameter)와 인자(Argument)의 차이를 정확히 구분하는 개발자는 생각보다 많지 않습니다. 이 글에서는 두 용어의 단순한 사전적 의미를 넘어, 파이썬의 동작 원리와 메모리 관점에서 이들이 어떻게 상호작용하는지 심도 있게 다룹니다.1. 용어의 본질적 차이: 위치와 시점가장 명확한 구분법은 '언제, 어디서 정의되는가'를 확인하는 것입니다. 이를 비유하자면, 매개변수는 커피 머신에 설계된 '캡슐 투입구'와 같고, 인자는 실제로 그 투입구에 넣는 '커피 캡슐' 그 자체라고 볼 수 있습니다.매개변수 (Parameter.. 2026. 2. 12. [PYTHON] return이 없는 함수는 무엇을 반환하나요? None의 비밀과 활용 파이썬 프로그래밍을 시작할 때 가장 먼저 마주하는 개념 중 하나가 함수의 반환 값(Return Value)입니다. 보통 함수는 연산의 결과를 return 키워드를 통해 호출자에게 전달하지만, 명시적인 반환문이 생략된 경우도 자주 목격하게 됩니다. 그렇다면 파이썬 인터프리터는 return이 없는 함수를 어떻게 처리할까요? 이 글에서는 파이썬의 독특한 객체인 None의 정체와 함수 반환 메커니즘을 심도 있게 분석합니다.1. 파이썬의 암시적 반환 규칙파이썬은 모든 함수가 반드시 무언가를 반환하도록 설계된 언어입니다. 다른 언어(C, Java 등)에서 반환 값이 없는 함수를 void 타입으로 정의하는 것과 달리, 파이썬에는 '값의 부재'를 나타내는 특별한 싱글톤 객체인 None이 존재합니다.명시적 return .. 2026. 2. 12. [PYTHON] 파이썬 람다(Lambda) 함수의 본질 : 간결함을 넘어선 효율적인 코드 설계의 미학 현대 프로그래밍 패러다임에서 '생산성'은 코드의 길이를 줄이는 것 이상의 의미를 갖습니다. 특히 파이썬과 같은 고수준 언어에서 개발자는 논리의 흐름을 방해하지 않으면서도 명확하게 의도를 전달할 수 있는 코드를 작성해야 합니다. 이러한 요구를 완벽하게 충족시키는 도구 중 하나가 바로 람다(Lambda) 함수입니다. 이 글에서는 람다 함수의 정의부터 실무에서의 활용 사례, 그리고 일반적인 def 함수와의 깊이 있는 비교를 통해 왜 우리가 람다를 사용해야 하는지 전문가의 시각에서 심도 있게 다룹니다.1. 람다(Lambda) 함수란 무엇인가?파이썬에서 람다 함수는 '익명 함수(Anonymous function)'라고도 불립니다. 이름에서 알 수 있듯이, 식별자(이름)를 가지지 않는 함수를 의미합니다. 보통 de.. 2026. 2. 11. [PYTHON] 데이터 처리의 미학 : map()과 filter() 함수 완벽 가이드 파이썬 프로그래밍에서 '파이썬답게(Pythonic)' 코드를 작성한다는 것은 단순히 동작하는 코드를 만드는 것을 넘어, 가독성이 높고 효율적인 구조를 설계하는 것을 의미합니다. 그 중심에는 함수형 프로그래밍의 정수라고 불리는 map()과 filter() 함수가 있습니다. 이 글에서는 초보자부터 전문가까지 실무에서 바로 적용할 수 있는 두 함수의 심층적인 활용법과 내부 메커니즘을 상세히 다룹니다.1. 왜 map()과 filter()를 배워야 하는가?데이터의 양이 방대해지는 현대 프로그래밍 환경에서 for 루프를 통한 단순 반복 작업은 코드의 복잡도를 높이고 유지보수를 어렵게 만듭니다. map()과 filter()는 선언적 프로그래밍(Declarative Programming) 스타일을 지원하여, '어떻게(.. 2026. 2. 11. 이전 1 2 3 4 5 6 7 8 ··· 11 다음 728x90