
[Python Type Checking] 덕타이핑(Duck Typing)이란?
2022. 8. 17. 07:18
Python
Python으로 코드를 작성하는데, 하도 현업에서 OOP로만 코드를 작성하다보니 코드를 작성할 때에 interface나 abstract class와 비슷한 구문을 계속해서 찾기 시작했다. 그런데 작성하다보니 Java처럼 작성할 수 없고, 한계점도 들어나고 했다. 덕타이핑이란? 그래서 알아보니 Python과 같은 동적타입의 언어의 성질과는 다르다는 것을 알 수 있었다. Python에서는 덕타이핑(duck typing) 이라는 개념을 사용한다. 아래의 내용을 참고하면 된다. “If it walks like a duck, and it quacks like a duck, then it must be a duck.” (There are other variations). 즉, Python은 본질적으로 다른클래스라도..

PyMySQL을 이용하여 Python과 MySQL를 연동하기
2022. 7. 30. 13:32
Python
Python에 MySQL을 연동하는 방법은 두 가지가 있습니다. 오늘은 그 중에 PyMySQL을 이용하여 데이터를 처리하는 방법에 대해 알아보겠습니다. 1. PyMySQL 다운받기 우선 PyMySQL을 다운받습니다. pip install pymysql 2. MySQL 연동하여 데이터 가져오기 PyMySQL을 이용하여 데이터를 가져오는 방법은 아주 간단합니다. 아래의 중괄호 내용을 수정하고 중괄호를 제거하여 사용하면 됩니다. database = pymysql.connect(host={데이터베이스 주소}, port={데이터베이스 포트}, user={데이터베이스 사용자}, passwd={데이터베이스 비밀번호}, db={데이터베이스명}, charset='utf8') cursor = database.cursor(..

[Python] Dataframe toSql 할 때, unique key로 인한 sqlalchemy.exc.IntegrityError 발생
2022. 7. 29. 07:48
Python
오늘은 Python의 DataFrame을 활용하여 MySQL에 데이터를 넣을 때에, 정의해 둔 unique Key 스키마로 인해 에러가 나는 경우 처리하는 방법에 대해 알아보겠습니다. 우선 발생하는 에러는 아래와 같습니다. Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1782, in _execute_context self.dialect.do_executemany( File "/usr/local/lib/python3.9/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 193, in do_execu..