본문 바로가기
반응형

PYTHON81

Python - Random 정수/소수점/리스트 Random 함수를 통해 숫자 랜덤을 쉽게 구현할 수 있다. 특정 범위 혹은 리스트에서 임의의 값을 선택해야 할 때 유용하므로 자주 사용된다. 여기에서는 가장 많이 사용되는 정수와 소수점, 리스트에 대해 알아보고자 한다. 리스트 - choice >>> import random >>> my_list = ['a', 'b', 'c'] >>> random.choice(my_list) 'c' 정수 - randint >>> import random >>> random.randint(1,10) 10 >>> random.randint(1,10) 5 소수점 - unifrom >>> import random >>> random.uniform(0.2, 0.7) 0.38972597256511843 >>> >>> random... 2022. 9. 29.
Django - Database Migration Command 요약 정리 Django는 풀스택 웹 프레임워크로 사용되어진다. 특히 기본 User Auth 기능을 제공하므로 별도의 User 관리 기능을 개발할 필요가 없다. 토큰 인증도 적용이 가능하며 추가로 필요한 컬럼등을 구성하거나 변경하는 것도 가능하므로 유용하게 활용할 수 있다. 그럼 어떤 명령을 사용할 수 있는지 Migration에 대해서 요약 정리해 본다. * 먼저 명령을 사용전에 마이그레이션을 지원하는 Database는 PostgreSQL, MySQL, SQLite를 지원한다. * 마이그레이션 명령을 사용하기 위해서는 settings.py에서 활성화를 먼저 해야 한다. makemigrations 마이그레이션을 진행하기 위한 사전 파일을 생성하는 명령이다. python3 manage.py makemigrations 명.. 2022. 9. 27.
Python - 동적 리스트 해결 ValueError: too many values to unpack 아래와 같이 들어오는 값보다 적은 변수를 선언한 경우 ValueError: too many values to unpack (expected 3) 가 발생하는데, 문제는 동적으로 변화하는 리스트인 경우 미리 변수를 선언하기가 어려울 수 있다. 동적 변수 *(아스키 기호) 이경우 쉽게 사용할 수 있는 매직 메소드가 바로 *(아스키 기호)이다. 파이썬은 * 를 통해서 동적으로 변수를 사용할 수 있는데, 선언 시점에 *를 입력하게 되면, 동적으로 동작하여, 부족한 변수만큼 리스트로 값을 받아들이게 된다. 아래와 같이 마지막 변수에, 아스키 기호를 넣어주면 부족한 값을 리스트로 마지막 변수에 넣게 된다. 2022. 9. 27.
Python - HTTPConnectionPool 문제 해결, Max retries Python을 하다보면 가장 많은 오류를 볼 수 있는 부분이 Max retries 오류이다. HTTPConnectionPool(host='localhost', port=8080): Max retries exceeded with url: /xxx (Caused by NewConnectionError(': Failed to establish a new connection: [Errno 61] Connection refused')) 이는 2가지 경우인데 자신의 Connection Pool이 꽉 차서 나타나거나, 반대로 상대방이 요청을 거부하는 경우이다. 보통HTTPAdapter의 Retry 옵션을 구성해서 사용하는데 세밀하게 설정할 수 있다. Retry 설정 부분 def requests_retry_sessio.. 2022. 9. 23.
Python - Linting, 소스 분석, 코드 최적화 flake8 최선의 성능과 안정성이 있는 코드는 모든 경고를 제거한 코드라 할 수 있다. 여기에서는 flake8를 통해서 간편하게 코드에서 필요한 수정사항등이 무엇이 있는지 알아보도록 하겠다. VSCode에서 많은 오류와 경고로 코드를 잡아주지만, VScode를 사용할 수 없거나, CI/CD 상황에서 사용할 만한 방법으로 flake8를 사용하면 어떨까 한다. 아래는 간단하게 VSCode 기본상태에서 flake8를 이용해서 테스트를 한 결과이다. VScode와 다르게 현재 3가지 수정사항이 있는 것으로 확인된다. flake8 이후 특정 파일이나 디렉토리를 통해서 코드를 분석할 수 있다. PS C:\Users\Han\python\flake8> python3 -m flake8 . .\test.py:4:1: F401 'os.. 2022. 9. 21.
Python - 리스트 인지 확인 type check 자주 사용하는 건데 자꾸 까먹어서 여기에 기록해 둔다. 현재 type이 리스트인지 확인하는 구분으로 리스트인 경우를 구분해 다른 처리를 진행할 때 사용할 수 있다. type 활용 직관적으로 type 구분을 활용하는 방법이다. >>> a_data = ['a','b'] >>> b_data = 'a,b' >>> if type(a_data) is list: ... print('yes, it is list') ... yes, it is list isinstance 활용 데이터간 비교시 사용하는 내장함수로 타입에도 사용이 가능하다. >>> a_data = ['a','b'] >>> b_data = 'a,b' >>> if isinstance(a_data, list): ... print('yes, it is list').. 2022. 9. 15.
Python Web Framework - Django, FastAPI 오늘은 Python Web Framework에서 많이 오르내리는 Django와 Fastapi에 대해서 간략히 비교해 보고자 한다. Django 2003년에 출시 되어 현재 가장 많은 인기를 누리고 있는 웹 프레임워크이다. Instagram, Youtube 에서도 사용중이라는 말 다했다. 장점 Django는 보안부터 DRF(Django Rest Framework), ORM, 서드파티와의 연계 등 대부분의 기능 지원 바로 사용할 수 있는 Migrate를 통한 편리한 admin패널 및 데이터베이스 제공 거대한 커뮤니티와 상세한 문서 단점 풀 프레임 워크를 지향하기 때문에 상대적으로 리소스 사이즈가 큰 편 3.0 부터 ASGI(비동기 인터페이스)를 지원하지만 아직은 느린편 Django ORM은 SQLAlchem.. 2022. 9. 13.
VSCode - 파일 저장시 공백 자동 제거 코드를 작성하다보면 불필요한 공백이 발생하는 경우가 많다. 이러한 공백은 코드를 읽는데는 문제가 없지만, Python은 컴파일 기반이 아닌 라인 방식으로 읽어 들이는 Interpreter 방식이기 때문에 불필요한 공백이 존재하면 해당 코드가 의미가 있는것인지를 계산하는 시간이 필요하기 때문에 이를 제거하는 것이 깔끔하다고 할 수 있다. VSCode에서 이를 자동 제거해주는 옵션을 제공하는데 아래와 같이 옵션 활성화가 가능하다. VSCode에서 Preferences로 들어가서 Settings로 들어가, WhiteSpace 관련 옵션을 검색한다. 그럼 아래와 같이 Trim Trailing Whitespace 옵션을 찾을 수 있고, 이를 활성화 하면, 이후 부터 아래와 같은 불필요한 공백으로 판단되는 마지막 .. 2022. 9. 13.
반응형