본문 바로가기

Python576

Python 파이썬에서 ++와 -- 연산자가 없는 이유는 무엇인가요?, Why are there no ++ and --​ operators in Python? 질문 파이썬에는 왜 ++ 및 -- 연산자가 없는 것인가요? 답변 그것은 이해가 안 되는 것이 아니라 "x++"를 "x += 1로 정의하고, x의 이전 바인딩으로 평가한다"는 것이 완전히 이해됩니다. 원래 이유를 알고 싶다면 옛날 파이썬 메일링 리스트를 살펴보거나 그곳에 있던 사람(예: Guido)에게 물어봐야하지만, 사실 이후에는 충분히 정당화할 수 있습니다: 간단한 증가 및 감소는 다른 언어보다 그렇게 많이 필요하지 않습니다. 파이썬에서는 for(int i = 0; i < 10; ++i)과 같은 것을 많이 사용하지 않고, 대신 for i in range(0, 10)과 같은 것을 사용합니다. 거의 필요하지 않기 때문에 이를 위해 특별한 구문을 제공하는 것에 대한 이유가 훨씬 적습니다. 증가가 필요한 경우.. 2023. 10. 13.
로컬 파일 시스템 폴더에서 가상 환경에 pip을 사용하여 Python 패키지를 설치합니다., Installing Python packages from local file system folder to virtualenv with pip 질문 파일 시스템에서 pip를 사용하여 패키지를 설치할 수 있을까요? 제 패키지에 대해 python setup.py sdist를 실행하여 적절한 tar.gz 파일을 생성했습니다. 이 파일은 시스템의 /srv/pkg/mypackage/mypackage-0.1.0.tar.gz에 저장되어 있습니다. 이제 가상 환경에서 pypi에서 오는 패키지 또는 특정 로컬 위치인 /srv/pkg에서 패키지를 설치하고 싶습니다. 이게 가능한가요? 참고 pip install /srv/pkg/mypackage/mypackage-0.1.0.tar.gz를 지정할 수 있다는 것을 알고 있습니다. 그렇게 하면 작동하지만 pip install mypackage를 입력했을 때 pip가 검색할 수 있는 다른 위치로 /srv/pkg를 사용하고.. 2023. 10. 13.
Python 스코프 규칙에 대한 간단한 설명, Short description of the scoping rules 질문 파이썬의 스코핑 규칙은 정확히 무엇인가요? 다음과 같은 코드가 있다면: code1 class Foo: code2 def spam..... code3 for code4..: code5 x() x는 어디에서 찾을 수 있을까요? 가능한 선택지는 아래 목록에 포함됩니다: 감싸고 있는 소스 파일에서 클래스 네임스페이스에서 함수 정의에서 for 루프의 인덱스 변수에서 for 루프 안에서 또한 함수 spam이 다른 곳으로 전달될 때 실행 중인 문맥도 있습니다. 그리고 아마도 람다 함수는 조금 다르게 전달될 수도 있습니다. 중급 파이썬 프로그래머에게 혼동스러운 세상에는 반드시 간단한 참고 자료나 알고리즘이 있을 것입니다. 답변 실제로, 파이썬 범위 결정에 대한 간결한 규칙은 Learning Python, 3rd... 2023. 10. 13.
Python 제너레이터 표현식 대 리스트 내장, Generator expressions vs. list comprehensions 질문 파이썬에서 제너레이터 표현식과 리스트 컴프리헨션을 언제 사용해야 할까요? # 제너레이터 표현식 (x*2 for x in range(256)) # 리스트 컴프리헨션 [x*2 for x in range(256)] 답변 John의 답변은 좋습니다 (리스트 컴프리헨션은 여러 번 반복해야 할 때 더 좋습니다). 그러나 리스트 메소드를 사용하려면 리스트를 사용해야 한다는 점도 유의해야 합니다. 예를 들어, 다음 코드는 작동하지 않습니다: def gen(): return (something for something in get_some_stuff()) print gen()[:2] # 제너레이터는 인덱싱이나 슬라이싱을 지원하지 않습니다 print [5,6] + gen() # 제너레이터는 리스트에 추가할 수 없습니.. 2023. 10. 13.