poetry에서 package를 specific version 으로 받고 싶으면 어떻게 해야 할까요? 실제로 poetry update로 패키지들을 최신 버전으로 업데이트 한 이후에, restframework.serializer가 NullBooleanField가 없어서 swagger, redoc이 켜지지 않는 이슈가 발생했었습니다. 이 부분을 핫픽스 해야 했습니다. 어떤 패키지가 업데이트 되면서 문제를 일으켰겠구나. 정도만 안 상태입니다. 그 당시에, 왜 문제가 발생했는지 파악해 본 결과 djangorestframework 라는 패키지가 3.14로 업데이트 되면서 발생한 것이였고, 이를 downgrade 해야 했습니다. 평소처럼 poetry update를 실행했습니다. 그러면, 몇 개의 패키지들이 최신 버..
코딩/파이선 검색 결과
파이썬 버전을 확인하고 싶습니다. 어떻게 하면 좋을까요? 먼저 윈도우에서는 python -V 명령을 입력하시면 됩니다. Python 3.10.8 이라는 정보가 뜹니다. venv가 활성화 된 상태에서 버전을 출력했으니, 활성화가 된 가상 환경에서의 파이썬 버전일 겁니다. 그런데, sys 모듈에서 파이썬 버전을 확인할 수도 있습니다. 링크를 보시면, sys의 version_info를 보면 된다고 되어 있어요. 위 결과를 보면, major, minor, micro 버전 등을 알 수 있어요. 3.10.8 버전을 쓰고 있음을 알 수 있어요. sys.version_info[0]을 출력해 보니 3이 나옵니다. major 버전이 3이라는 의미입니다. 다음에, sys.version_info[1]을 출력해 보니 10이 나..
안녕하세요. 이번 시간에는 python parameter의 default value와 설정할 때 주의해야 할 점이 없는지 알아봅시다. 먼저 default value는 argument를 넘겨받지 않았을 때 대신할 값을 의미합니다. 위 프로그램을 봅시다. x가 있고, test라는 이름을 가진 keyword argument가 있습니다. test=?? 꼴로 붙어있는 것을 볼 수 있을 텐데요. 이 ??를 디폴트 값이라고 이야기 합니다. 저는 이 디폴트 값을 list로 설정했는데요. 실행 결과를 볼까요? 실행 결과를 보았더니, [1], [1, 2]가 떨어집니다. 예상하지 못했던 결과인데요. 왜 그렇게 되었는지 문서를 보면서 차근차근 보도록 하겠습니다. default value는 함수가 define 될 때 생성됩니다..
오늘은 간단하게 함수의 정의에서 흔히 볼 수 있는 *args와 **kwargs에 대해 간단하게 알아보겠습니다. 먼저 *args는 positional arguments들을 받는 무언가를 의미합니다. 그리고 positional arguments는 문서에 따르면 keyword 인자가 아닌 것을 의미합니다. 무슨 이야기인지 모르겠으니, 예제를 한 번 봅시다. 하나는 1과 3을, 다른 하나는 1, 3, 7, 13을 인자로 넘겨줍니다. 함수 a는 args에 있는 모든 원소를 출력하는데요. 어떤 값들이 출력되는지 보겠습니다. 1과 3을 인자로 가지는 함수 a를 호출했을 때에는 1, 3이 출력됩니다. 그리고 1, 3, 7, 13을 인자로 가지는 함수 a를 호출했을 때에는 1, 3, 7, 13이 출력됨을 알 수 있어요...
파이썬의 isinstance 함수에 대해 알아봅시다. isinstance(obj, class)은 obj가 class instance인지, 혹은 class의 subclass instance인지를 검사합니다. 뭔가 좀 어려워 보이는데요. 쉽게 말해 객체가 동물 instance인지, 아닌지를 검사할 때 쓰일 수 있는 함수입니다. 예를 하나 들어보겠습니다. Parent 클래스하고 Child 클래스가 있습니다. Child는 Parent를 상속받고 있습니다. 이를 그림으로 그리면 아래와 같습니다. 이제, 예제를 보겠습니다. par는 Parent 객체입니다. 그리고 child는 Child 객체입니다. 12번째 줄부터 볼까요? child가 Parent instance는 아니지만, Parent를 상속받는 Child의 i..
최근댓글