본문 바로가기
728x90
반응형

Dev/Python14

[Python] 인자 규약 개요파이썬에서 함수를 다룰 때 인자를 어떻게 전달하는지는 매우 중요한 부분이에요. 인자를 넘겨주는 방식, 즉 인자 규약(Argument Conventions)을 제대로 이해하면 코드를 더 유연하고 깔끔하게 작성할 수 있고, 가독성과 확장성까지 높일 수 있죠. 오늘은 파이썬의 핵심 인자 규약 4가지를 총정리해 볼게요. 위치 인자(Positional Arguments)위치 인자는 함수를 호출할 때 인자의 순서에 따라 값이 전달되는 가장 기본적인 방식입니다. 함수를 정의할 때 선언한 매개변수의 순서와 호출할 때 전달하는 인자의 순서가 일치해야 합니다.아래 처럼 순서를 바꾸면 다른 결과가 나오니 주의해야합니다.def greet(name, age): print(f"안녕하세요, {name}님! 나이는 {age.. 2025. 9. 25.
[Python] 함수 시그니처 개요코딩을 하다보면 함수 시그니처(Function Signature)라는 용어를 자주 접하게 됩니다. 코드가 복잡해질수록 그 중요성도 커지는데 함수 시그니처가 무엇이며, 왜 사용하고 어떻게 활용하는지 포스팅하겠습니다.함수 시그니처란?함수 시그니처는 한 마디로 함수를 호출하는 방법에 대한 명세입니다. 함수의 이름, 매개변수(Parameter)의 개수와 타입, 그리고 반환 타입(Return Type)을 표현합니다. 이는 마치 우리가 어떤 물건을 사용할 때 사용 설명서를 읽는 것 처럼, 코드를 통해 함수를 어떻게 사용해야하는지 명확하게 보여주는 역할을 합니다. 함수 시그니처는 함수의 동작 구현 자체는 포함하지 않습니다. 오직 어떤 입력을 받아 어떤 결과를 반환할 것인지에 대한 약속만을 정의합니다. 파이썬에서는.. 2025. 9. 24.
[Python] 모듈(Module) & 패키지(Package) 개요파이썬 개발을 하다 보면 '모듈'과 '패키지'라는 용어를 자주 접하게 됩니다. 이들은 코드를 효율적으로 관리하고 재사용성을 높이는 데 필수적인 개념이죠. 마치 잘 정리된 도구 상자처럼, 필요한 기능을 손쉽게 꺼내 쓸 수 있게 도와줍니다. 이번 글에서는 모듈과 패키지가 무엇인지, 왜 중요한지, 그리고 어떻게 사용하는지 알아보겠습니다.모듈(Module)모듈의 정의모듈은 특정 기능을 가진 코드를 담고 있는 하나의 파일(.py)입니다. 쉽게 말해, 변수, 함수, 클래스 등을 모아 놓은 독립적인 프로그램 단위라고 할 수 있습니다.우리가 만든 프로그램을 여러 파일로 나누어 관리하면 코드가 훨씬 깔끔해지고, 필요한 기능을 다른 프로그램에서 가져다 쓰기도 쉬워집니다. 마치 레고 블록처럼, 각 모듈이 하나의 기능적 .. 2025. 9. 23.
[Python] 타입 힌트 개요 파이썬 코드를 더 깔끔하고 안전하게 만드는 데 필수적인 타입 힌트(Type Hint)에 대해 알아보려고 한다. 타입 힌트와 관련된 타입 어노테이션(Type Annotation) 그리고 동적 타이밍(Dynamic Typing)과 정적 타이핑(Static Typing) 같은 개념까지 정리하려고 한다. 타입 힌트란?타입 힌트는 파이썬 코드에서 변수, 함수 인자 그리고 함수의 반환 값에 기대하는 자료형을 명시적으로 알려주는 문법입니다. 파이썬은 변수를 선언할 때 타입을 미리 정하지 않는 동적 타입 언어입니다. 예를 들어 X = 10 이라고 쓰면 파이썬이 알아서 X를 정수(init) 타입으로 판단합니다. 하지만 프로젝트 규모가 커지거나 여러명이 함께 작업할 때는 어떤 함수에 어떤 타입의 데이터를 넣어야 하.. 2025. 9. 22.
[Python] 파이썬 디스크립터, __get__ , __set__ 은 공개(Public) 메서드일까? 개요파이썬 디스크립터는 객체의 속성 접근을 제어하는 강력한 도구입니다. 이 디스크립터의 핵심에는 __get__과 __set__ 같은 특별한 메서드들이 있습니다. 팀원과의 대화에서 던져진 "이 메서드들이 공개(Public)인가?라는 질문은 파이썬 객체 모델의 작동 원리를 깊이 이해하는데 중요한 포인트입니다. 이 글에서는 두 메서드의 성격과 파이썬에서의 public, private 개념에 대해 자세히 알아보겠습니다.주제 개념파이썬에서 메서드나 속성의 접근 제어는 다른 언어들(JAVA, C++ 등)의 엄격한 public, private 키워드와는 다릅니다. 파이썬은 "We are all consenting adults here" 라는 철학을 바탕으로, 개발자의 약속과 관례를 중시합니다. 이 때문에 공개적으로 .. 2025. 9. 20.
[Python] 동기(Synchronous) & 비동기(Asynchronous) 개요 개발을 하다보면 꼭 마주치는 개념이 바로 동기와 비동기입니다. API 호출, 파일 입출력, 데이터베이스 쿼리 등 다양한 상황에서 이 개념이 적용됩니다. 처음에는 헷갈리기 쉽지만, 이해해두면 시스템 설계와 성능 최적화에 큰 도움이 됩니다. 동기(Synchronous)Synchronous는 Syn + chrono의 합성어로, Syn은 그리스어로 함께라는 뜻이고, chrono는 시간이라는 뜻이다.동기는 사전적으로 '동시에 일어난다.'라는 의미를 갖고 있습니다. 프로그래밍에서 동기는 작업이 순차적으로 진행되는 것을 의미합니다. 즉 한 작업이 시작되면 해당 작업이 완료될 때까지 다음 작업이 기다려야합니다. 동기 방식은 호출한 함수 또는 작업이 반환될 때까지 대기하는 동안 실행 흐름이 차단되는 특징이 있습니다.. 2025. 9. 20.
728x90
반응형