Languages/Python

Languages/Python

[Python] 라이브러리(library), 패키지(package), 모듈(module)의 차이와 함수(function), 메소드(method)의 차이

주요 개념라이브러리(library)패키지(package)모듈(module)함수(function)메소드(method) 비단 파이썬에서만 사용되는 용어는 아니지만 가끔 혼동해서 말하는 경우가 있어 정리해 둘 필요가 있을 것 같다. 먼저 라이브러리(library)는 여러 패키지와 모듈들을 모아놓은 것을 의미한다. 패키지(package)는 특정 기능과 관련된 여러 모듈을 한 폴더 안에 넣어 관리하는데 이를 패키지라고 한다. 예를 들어 Test라는 폴더 안에 __init__.py, test.py와 같은 파일들이 모여있는 것이다. 모듈(module)은 함수, 변수, 클래스를 모아놓은 것을 말한다. 일반적으로 한 파일을 말하는데 예를 들어 .py와 같은 하나의 파일 안에 함수와 변수, 클래스가 모여있는 것으로 볼 수..

Languages/Python

[Python] *args와 **kwargs 사용법

파이썬의 라이브러리 안을 보다 보면 *args나 **kwargs와 같은 함수의 파라미터 부분에서 보인다. 마치 C++에서 아래와 같은 구문과 유사하게 보인다. 하지만 다행히 파이썬에서 *와 **는 포인터를 의미하는 것은 아니다. 파이썬에선 주소에 직접 접근해서 코딩을 하지는 못하기 때문이다. 아래는 C++ 코드이다. int main(int argc, char **argv){ return 0;} C++에서 argc는 argument의 개수, argv는 배열 형태로 argv[0]에는 실행 파일명이 저장되고 이후 argv[1], argv[2]...에는 입력한 인자(argument)값들이 들어가게 된다.참고로 매개변수(parameter)와 전달인자(argument)는 혼용해서 사용하기도 하는데 일반적으..

Languages/Python

[Python Error] Json 데이터 파싱(parsing) 에러 - JSONDecodeError

Error: json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 366 (char 365) Json으로 데이터를 load하여 parsing할 때 발생할 수 있는 에러이다. api의 결과값을 잘 가져와 값을 수신한 것처럼 보이는데 막상 json.loads로 파싱해보면 에러가 나는 경우가 많다. 위의 에러 또한 json 데이터를 파싱할 때 나온 에러이다. 직관적으로 해당 string 데이터의 해당 위치의 +- 5 이내로 print하여 보면 어떠한 문자가 빠졌는지 알 수 있다. 하지만 나는 json 데이터 사용에 익숙하지 않아서인지 이 방식만으로는 아래와 같이 출력되어 발견하기 힘들었다. pr..

AlienCoder
'Languages/Python' 카테고리의 글 목록 (2 Page)
loading