본문 바로가기

dev/Python11

파이썬의 'del' 키워드 완벽 이해하기

파이썬을 사용하다 보면 변수나 객체를 제거해야 할 때가 있습니다. 이럴 때 많은 초보자들이 'del'을 함수로 오해하는 경우가 많은데, 사실 이것은 파이썬 문법에 내장된 키워드입니다. 오늘은 이 'del' 키워드의 정확한 이해와 활용법에 대해 알아보겠습니다. del은 함수가 아닌 키워드'del'은 함수처럼 보일 수 있지만, 실제로는 파이썬의 내장 키워드로, 객체에 대한 참조를 제거하는 데 사용됩니다. del()처럼 괄호와 함께 사용하는 것이 아니라, 단독으로 사용하는 문장(statement)입니다.del의 다양한 활용 사례1. 변수 삭제x = 10del x # 변수 x를 삭제이후에 x를 참조하면 'NameError: name 'x' is not defined'라는 에러가 발생합니다.2. 리스트 요소 삭.. dev/Python 2025. 4. 8.

파이썬에서 is와 == 연산자의 차이점 이해하기

파이썬에서 객체를 비교할 때 is와 == 연산자는 서로 다른 개념을 검사합니다. 이 두 연산자의 차이점을 명확히 이해하면 더 효율적인 코드를 작성할 수 있습니다.기본 개념: 동일성과 동등성파이썬에서는 두 가지 비교 개념이 있습니다:동일성(Identity): 두 변수가 메모리 상에서 같은 객체를 참조하는지를 확인합니다. is 연산자로 검사합니다.동등성(Equality): 두 객체의 값이 같은지를 확인합니다. == 연산자로 검사합니다.== 연산자: 값의 비교== 연산자는 객체의 내용이 같은지 비교합니다. 이는 클래스의 __eq__() 메서드에 의해 결정됩니다.a = [1, 2, 3]b = [1, 2, 3]print(a == b) # True - 두 리스트의 값이 동일함is 연산자: 객체 참조의 비교is 연.. dev/Python 2025. 3. 12.

파이썬의 정수 캐싱(Integer Caching) 메커니즘

파이썬에서 정수 변수들의 ID를 비교할 때 특정 범위 내에서는 동일한 ID를 가지고, 그 범위를 벗어나면 서로 다른 ID를 갖는 현상이 발생합니다. 이는 파이썬의 최적화 기법인 '정수 캐싱(Integer Caching)' 또는 '정수 인터닝(Integer Interning)'으로 인한 결과입니다.파이썬의 정수 캐싱 원리파이썬(CPython 구현체)은 -5부터 256까지의 정수를 메모리에 미리 캐싱합니다. 이 범위 내의 정수는 인터프리터가 시작될 때 미리 메모리에 로드되어 재사용됩니다. 동일한 값을 가진 변수들은 실제로는 메모리 내의 동일한 객체를 참조하게 됩니다.a = 1b = 1id(a) == id(b) # True (1은 캐싱 범위 내)c = 100d = 100id(c) == id(d) # Tru.. dev/Python 2025. 3. 12.

Python 패키지 관리의 혁신 - uv 소개

안녕하세요! 오토씨입니다.Python 패키지 관리의 새로운 강자로 떠오르고 있는 uv가 주목받는 이유는 무엇일까요? 빠른 속도, 크로스 플랫폼 지원, 그리고 직관적인 인터페이스 덕분에 많은 개발자들이 관심을 갖고 있습니다. 오늘은 이러한 uv에 대해 자세히 알아보겠습니다. 그동안 Python 패키지 관리에는 pip, venv, poetry 등이 주로 사용되어 왔지만, 최근 uv가 주목을 받고 있습니다. 특히 poetry, venv, pip에서 uv로의 전환을 고민 중인 분들을 위해 이 글이 도움이 되었으면 합니다.  uv란 무엇인가요?uv는 Python 개발 환경에서 더욱 편리한 패키지 관리를 제공하는 도구로, 고속성, 크로스 플랫폼 지원, 전용 인터페이스 등 다양한 장점을 가지고 있습니다. Rust로 .. dev/Python 2024. 11. 8.

딕셔너리에서 삭제하기

딕셔너리에서 특정 값 삭제를 반복문에서 실행하면 에러발생함. keys = ['alpha', 'bravo', 'charlie', 'delta', 'echo', 'foxtrot', 'golf'] values = [30, 40, 50, 60, 70, 80, 90] x = dict(zip(keys, values)) for k, v in x.items(): if v == 30: del x[k] Traceback (most recent call last): File "", line 1, in for k, v in x.items(): RuntimeError: dictionary changed size during iteration 이런경우 딕셔너리 컴프리헨션으로 해결 가능 keys = ['alpha', 'bravo'.. dev/Python 2022. 3. 8.

defaultdict

>>> from collections import defaultdict >>> d = defaultdict(int) >>> d['no'] 0 >>> int() 0 dev/Python 2022. 3. 4.

django 모듈을 파이썬 소스에서 실행할때..

>>> from django.utils import timezone >>> now = timezone.now() .... django.core.exceptions.ImproperlyConfigured: Requested setting USE_TZ, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. 이런 로그를 뿌린다면, 아래 처럼 해보렴... >>> import os >>> from django.utils import timezone >>> os.environ.setdef.. dev/Python 2022. 2. 15.

macOS에서 django 개발환경 셋팅하는 순서

01. pyenv (Simple Python Version Management) $ brew install pyenv $ vi ~/.zshrc export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv init -)" $ pyenv install 3.x.x $ pyenv global 3.x.x 02. pipenv (Python Dev Workflow for Humans) $ brew install pipenv $ mkdir {project/dir} $ cd {project/dir} $ pipenv --three $ code . vscode-terminal> pipen.. dev/Python 2022. 2. 12.

Windows에서 pip.ini 설정하기(proxy)

proxy 환경에서 pipenv로 패키지 설치하다가 문제가 좀 있어서.. 삽질했던 내용 정리합니다.Windows 에 Python 3.9 설치되어 있음외부 인터넷은 proxy 경유하도록 되어 있음pip install pipenv 방법으로 pipenv 설치했고, pipenv 로 패키지 설치시 pypi.org 접속 timeout 발생함  1. pip.ini 파일 global 로딩 위치 확인하기C:\> pip config -v listFor variant 'global', will try loading 'C:\ProgramData\pip\pip.ini'For variant 'user', will try loading 'C:\Users\**\pip\pip.ini'For variant 'user', will try.. dev/Python 2022. 2. 8.

Unicode HOWTO

Unicode HOWTOPython2 => https://docs.python.org/2/howto/unicode.htmlPython3 => https://docs.python.org/3/howto/unicode.html dev/Python 2016. 5. 10.

Popular Python recipes

다양한 Python 코드를 분석해 볼 수 있는 좋은 사이트(참고) http://code.activestate.com/recipes/langs/python/ dev/Python 2016. 5. 10.
반응형