파이썬 8

예시로 보는 ChatGPT / ChatGPT Pro / Bing / 구글 바드 비교 (feat. 공학 및 프로그래밍 분야에서는 뭐가 좋을까?)

요약 대화형 인공지능 서비스를 통해 복잡한 문제의 해답을 구하기에는 아직 부족한게 많은 것 같고, 작업을 수행함에 있어 보조적 도구로 사용하는 것은 충분한 효용이 있다고 판단됩니다. (1) 기능을 제공하는 공학 도구 검색, (2) 검색 내용 일괄 정리, (3) 라이브러리 사용방법 및 예시 검색 등에서는 시간을 상당히 세이브 해줄 수 있다고 생각합니다. 본 게시물은 (1), (2)를 중심으로 정리한 것이고, 개인적인 경험과 한정적인 사례에 기반한 생각이니 다양하게 사용해보시고 판단해보시는 것을 추천드립니다. 공학이나 프로그래밍 분야에서 보조적 도구로 사용하는 경우에는 ChatGPT나 ChatGPT Pro가 만족스러웠습니다. ChatGPT나 ChatGPT Pro나 유사한 수준의 효용을 느꼈습니다. (꼭 유료..

Academic 2023.06.23

[Python - Error] NameError: ... / AttributeError: ... / __getattr__ raise NameError(attr) - 발생 원인 및 체계적인 디버깅 방법

요약 - __getattr__ 매서드는 클래스로부터 생성된 인스턴스가 attribute(매서드, 함수, 변수 등)를 찾을 수 없을 경우에 호출됩니다. - NameError 역시 요청한 attribute가 존재하지 않는 경우에 발생합니다. - 따라서, 호출하고자 하는 attribute를 아래 표와 같이 살펴봅시다. - 코드 구조나 완결성과 같이 확인하는데 오래걸리고 복잡한 것 부터 의심하지 말고, 아래 표의 우선순위가 높은 것 부터 (빠르게, 확인하는데 리소스가 적게 드는 것부터) 순서대로 확인해 봅시다. 우선 순위 확인 사항 예시 원했던 것 에러 발생 1 오타 여부 np.zeros(5) np.zoros(5) 2 대소문자 구분 np.zeros(5) np.Zeros(5) 3 library의 적절한 impor..

Python 2022.04.13

[Python - Tip] __getattr__ vs. __getattribute__ : 차이 및 활용 예시 (feat. __init__)

요약 - 클래스의 __init__은 훨씬 익숙할 테니 이와 비교해서 설명을 드리면... - __init__ 은 클래스로 부터 인스턴스를 생성할 때, "자동적으로" 실행이 되는 매소드라고 볼 수 있습니다. - __getattr__ 이나, getattribute__ 도 __init__ 과 유사하게 특정 시점에 실행되는 매소드 역할을 하는데, 각각 실행되는 때가 다르다고 보면 되겠습니다. - 프로그램의 특정 동작에서 정보를 가로채서 원하는 다른 동작을 하기 때문에 Hooking (갈고리, 낚시바늘) 이라고 합니다. - 그럼 __getattr__ 이나, getattribute__ 은 언제 실행될까요? 다음과 같이 정리할 수 있겠습니다. 매소드 실행 시점 __init__ 맨 처음 인스턴스를 생성할 때 __geta..

Python 2022.04.13

[Python - How to] 리스트 간 원소 빼기, List A 원소 중 List B에 포함된 원소 빼기

배경 - 어떤 A 라는 리스트에 포함된 원소 중, 다른 리스트 B에 포함된 원소만 빼고 싶을 때, - 즉 집합간 빼기 연산처럼 A에서 A와 B의 교집합을 빼고 싶을 때 사용할 수 있는 방법 - 다음과 같이 ListA (자연수)에서 ListB (홀수)를 빼서 짝수 리스트를 얻으려고 할 때, 리스트간 빼기 연산은 사용 불가 - 지원되지 않는 연산으로 TypeError가 발생 (TypeError: unsupported operand type(s) for -: 'list' and 'list') Python code 1 2 3 4 5 6 ListA = [1,2,3,4,5,6,7,8,9,10] # 자연수 ListB = [1,3,5,7,9] # 홀수 ListC = ListA - ListB # 자연수에서 홀수를 빼서 ..

Python 2020.09.27

[Python - Error] SyntaxError: unexpected EOF while parsing - 코드 구문이 잘못 되었을 때 발생하는 에러

에러 메시지 - SyntaxError: unexpected EOF while parsing - 특히 괄호 짝이 안맞을 경우 에러 메시지에서 어느 지점이 잘못 되었는지 정확히 보여주지 못할 때가 존재 1 2 3 4 File "d:/14-ETC/VisualStudioCode/python/20200901_Test/main.py", line 79 ^ SyntaxError: unexpected EOF while parsing cs 해결 방법 - 괄호 쌍, 따옴표 쌍 등 구문이 알맞게 적혀있는지 확인 - 문제 발생 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import glob import os class PRACTICE: def __init__(self): return ..

Python 2020.09.02

[Python - How to] 지정 경로의 파일/폴더 리스트 얻기 - 파이썬 표준 라이브러리 "os", "glob" 사용

배경 - 위와 같이 지정 경로에 폴더 및 파일이 있는 상태에서, 각 파일/폴더 경로 및 이름 리스트를 얻는 방법 - 파이썬 표준 라이브러리 os, glob 사용 (어떤 기능을 구현하는 방법은 무수히 많음) 방법 Python code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 import glob import os # 경로 path = "D:\\01-PERSONAL\\04-Blog\\*" print() # 파일 폴더 모두 출력 Path_List = glob.glob(path) Name_List = [os.path.basename(x) for x in Path_List] print("P..

Python 2020.09.01

[Python - Tip] 파이썬 출력 메시지 글꼴 설정 - 글자색/배경색/굴게/기울임/밑줄

구현 방법 - ANSI 코드를 사용 하는 방법 (ASCII, UTF-8, UNICODE 같은 인코딩 방식 중 하나) - 따라서, 아래 방법은 파이썬 고유의 방식은 아니고 bash schell이나 window cmd 등 에서도 사용 가능 - 아래와 같이 원하는 표현을 출력해주는 Code number를 입력하고, 원하는 텍스트 입력 >> \033[{Code number}m{Output text} 예) print(\033[92mHello world!) Python code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 print('\033[1m1.Hello DSegFault!\033[0m') # 1.Bold (raw ANSI) print() print('\033[1m' + '2.Hello DSeg..

Python 2020.08.11

[Python - Error] OSError: [Errno 22] Invalid argument: 파이썬 파일 경로에서 에러가 생길 때

에러 메시지 >> OSError: [Errno 22] Invalid argument: 'C:\\{Location}\\venv\\Project_Management_excel\\Project_Management_excel_2020-08-07_21:56:14.xlsx' 1 2 3 4 5 6 7 8 9 10 11 12 Traceback (most recent call last): File "C:\{Location}/venv/Source/result_to_excel.py", line 145, in book.save(filename) File "C:\{Location}\venv\lib\site-packages\openpyxl\workbook\workbook.py", line 392, in save save_work..

Python 2020.08.07