본문 바로가기

반응형

Python

(52)
[Python] 나만 몰랐던 python 문법 list 깊은 복사 [:] arr = arr1 을 하면 arr1과 arr 가 똑같이 변경 된다. arr = arr1[:] 을 하면 arr와 arr1을 다르게 변경할 수 있다. python 슬라이싱(자르기) [start:end:step] 리스트 중 내가 원하는 범위의 항목만 빼기 list = [1,2,3,4,5,6,7] # 뒤에서 5번째부터 print(list[-5:]) [3,4,5,6,7] # 3번째까지 print(list[:3]) [1,2,3] 리스트 역순으로 만들기 list = [1,2,3,4,5] print(list[::-1]) [5,4,3,2,1] enumerate 맨날 까먹는거 list = [1,2,3,5,7,9] for a, b in enumerate(list): print(a, b) 0 1 ..
[Python] SQLAlchemy joinedload (feat. 중복 불러오기 방지) joinedload는 SQLAlchemy ORM에서 사용되는 기능으로, 관계가 있는 두 개 이상의 테이블 간의 데이터를 효율적으로 쿼리하기 위해 사용됩니다. SQLAlchemy는 Python에서 사용하는 인기 있는 SQL 툴킷 및 객체 관계 매핑(ORM) 라이브러리입니다. 기본 개념 ORM (Object-Relational Mapping): 데이터베이스 테이블과 Python 클래스 간의 관계를 매핑해주는 기술입니다. 이를 통해 개발자는 데이터베이스 테이블을 객체로 조작할 수 있습니다. Eager Loading: 쿼리 실행 시 관련된 객체나 데이터를 미리 로드하는 방식입니다. 이는 나중에 필요할 때마다 개별적으로 데이터를 요청하는 것보다 효율적일 수 있습니다. Joinedload의 작동 방식 Joinedl..
[Python] 비동기 특화 orm - Tortoise ORM https://tortoise.github.io/index.html Tortoise ORM - Tortoise ORM v0.20.0 Documentation Tortoise ORM Tortoise ORM is an easy-to-use asyncio ORM (Object Relational Mapper) inspired by Django. Tortoise ORM was build with relations in mind and admiration for the excellent and popular Django ORM. It’s engraved in it’s design that you are work tortoise.github.io Tortoise ORM은 Python을 위한 비동기 ORM 라이브러리..
[Python] loguru logger 사용시 유의점 (feat. 디버깅 일기) python 로깅을 현재 print와 loguru를 사용해서 하고 있는데 그냥 막 쓰고 있었다. (Docs를 봐야하는데 ㅠㅠ) 이때 print 같은경우 아래와 같이 , 로 구분자를 줘서 다 나왔는데 print("video", video) loguru logger도 똑같이 사용하려고 아래처럼 사용했다. from loguru import logger logger.info("video", video) 근데 봤더니 video 텍스트만 나오고 video가 안나오는것이다. 나는 처음에 orm에서 안나오나???? 하면서 삽질 엄청 많이 했는데 그게 아니였다.. loguru는 아래와 같이 첫번째만 텍스트인자로 받고 2번째 부터는 변수값으로 넣는것이였다... 나란 멍청이.. 이걸로 1시간동안 삽질한 나에게 철퇴와 함께 ..
[Python] sqlalchemy select / db.query 차이 (feat. ORM) sqlalchemy 로 조회를 할 경우 아래 두가지 방법으로 조회할 경우 차이점을 알아보고자 한다. case1. Using the select() and where() Methods (SQLAlchemy 1.4) select(TableA).where(TableA.id == 1) SQLAlchemy 버전 1.4 이상에서 쿼리를 생성하는 더 새롭고 유연하며 권장되는 방법. select()기능을 사용하여 선택하는 모델과 where()필터 조건을 적용하는 방법을 지정합니다. 이는 Python에 더 가깝고 더 깔끔하고 읽기 쉬운 구문을 제공합니다. SQLAlchemy의 비동기 버전에서는 select()문을 사용하는 것도 권장됩니다. Syntax: from sqlalchemy.future import select ..
[Python] 파이썬 포터블 설치 (embeddeble) (feat. windows) 1. version install 알맞은 버전을 찾은 후 압축파일을 다운로드 후 압축을 풀어준다. https://www.python.org/downloads/windows/ Python Releases for Windows The official home of the Python Programming Language www.python.org 2. 실행 확인 # 파이썬 설치 경로 ./python.exe --version 3. pip install 아래 링크 들어가서 코드 복사 후 어딘가 python 파일로 작성 후 해당 파일 실행 https://bootstrap.pypa.io/get-pip.py ./python.exe ./get-pip.py 그러면 Script 등 파일들 생성됨 4. pythonxx._p..
[Python] Python embedded pip error python 포터블을 설치하는데 아래와 같은 에러가 났다. ./Scripts/pip.exe --version ModuleNotFoundError: No module named 'pip' 아무리 찾아도 없다가 구세주를 만났다. https://sway.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-zip-%ED%8C%8C%EC%9D%BC-%ED%8F%AC%ED%84%B0%EB%B8%94-%EB%B2%84%EC%A0%84%EC%8B%9C-pip-%EC%97%90%EB%9F%AC 파이썬 zip 파일 포터블 버전시 pip 에러 No module named 'pip' 파이썬을 윈도우에서 사용 할 때 이다. 파이썬으로 개발 할려면 파이썬을 깔아야 하겠지. installer 버전도 ..
[python] 디버깅하기 & Error난 줄 찾기 (feat. traceback) 보통 python 디버깅할때 아래처럼 몇 라인에 있는지 확인하고 디버깅을 많이 하게 된다. Traceback (most recent call last): File "test.py", line 220, in test(start_date) File "test.py", line 204, in test con.close() UnboundLocalError: local variable 'con' referenced before assignment 그런데 내가 디버깅하는데 아래와 같이 아무런 설명 없이 에러가 뜨는것이다. error execute() takes from 2 to 3 positional arguments but 4 were given 그래서 찾아봤더니 traceback 줄이 어디서 에러가 났는지 확인..

반응형