반응형

Python3 관련 9

[Python3] 파이썬 데코레이터, @ 의미, @ 사용법

파이썬을 사용하거나 github 같은 곳에서 코드를 보면 함수 위에 @표시가 되어 있는 것을 볼 수 있습니다. 항상 볼 때마다 어떤 기능을 하는 코드인지 유심히 살펴보지 않고 넘어가는 경우가 많았을 것입니다. 오늘은 이에 대해 간단하게 설명하고자 합니다. @사용함수 이러한 형식으로 사용하는 것 처럼 보여서 간단하게 보일 수 있지만 생각보다 간단하게 사용할 수 있는 기술은 아닙니다. 많은 연습을 통해서 사용법을 익혀야 효율적으로 사용할 수 있습니다. 클래스 내에서 직접적으로 접근할 수 있는 데코레이터형식의 정적메소드는 다음의 2가지가 있습니다. @classmethod @staticmethod staticmethod는 일반적인 인스턴스 메소드의 self를 활용한 변수를 사용하지 않는 독립적인 함수라고 생각하..

Python3 관련 2022.07.31

[python3] Unit test로 모듈 검증, 파이썬 assert

오늘은 파이썬의 기본 라이브러리인 unittest 라이브러리에 대해 알아보고자 합니다. Unit test란? 컴퓨터 프로그래밍에서 소스 코드의 특정 모듈이 의도된 대로 정확히 작동하는 지 검증하는 절차 모든 함수 혹은 메소드에 대해 테스트 케이스를 작성하는 절차 각각의 테스트 케이스는 분리가 되어 있어야 함 간단한 코드라면 unit test를 진행할 필요가 없겠지만 복잡한 코드의 경우에 다양한 기능이 있을 것입니다. 이럴 때 복잡한 코드 내부에 다양한 기능 혹은 함수들을 하나씩 검증하기 위해서 사용하는 기능입니다. unittest 라이브러리에서 제공하는 간단한 몇가지 기본적인 기능은 다음과 같습니다. 공식 문서는 아래의 링크에서 살펴보시기 바랍니다. 공식 문서의 기재된 내용을 바탕으로 설명한 글입니다. ..

Python3 관련 2022.03.27

[python3] dictionary를 함수의 인자로 넘기기

기본적으로 파이썬에서 함수의 인자를 넘기기 위해서는 다음과 같이 진행하게 됩니다. def add_func(x,y): result = x + y return result result_val = add_func(2, 3) print(result_val) x+y를 통해 덧셈을 하는 간단한 함수 예제입니다. 2+3 = 5 라는 결과값이 나오게 되겠죠. 하지만 코딩을 하다가 보면은 일일이 인자값을 넘겨주기 어려울 수 있습니다. 따라서 처리하는 중간 과정에서 생성된 배열에서 인자를 생성하는 과정을 거쳐야 하는 일이 생깁니다. 이를 처리하기 위한 방법을 알려드리도록 하겠습니다. 우선 함수의 인자가 x와 y 두 개의 인자로 이루어져 있습니다. 이를 지칭하는 dictionary 변수를 생성하도록 하죠. param_key..

Python3 관련 2022.02.27

[Python3] python3에서 .json 파일 다루기 - 하이퍼파라메타 저장

python3에서 json 파일을 다루는 간단한 방법을 알아보도록 하겠습니다. python에서는 이름 그대로 json이라는 라이브러리로 json 파일을 다룰 수 있도록 지원하고 있습니다. import json 만약에 설치가 되어있지 않다면 pip install json을 통해서 설치 후 진행하시기 바랍니다. json 파일의 형식은 대체로 아래와 같은 형식을 띄고 있습니다. { "my_name": "Hong_Gil_Dong", "my_age": 25, "my_hobby": "soccer", "my_language": "python3" } .json 파일을 python의 경우에는 dictionary 형식으로 불러와서 사용할 수 있는 편리함이 있습니다. 혹은 최근 딥러닝 분야나 데이터 처리 분야에서는 하이퍼 ..

Python3 관련 2022.02.21

파이썬에서 Matplotlib를 사용해 gif 파일 만들기!

Matplotlib는 매트랩의 결과 그래프 이미지를 python에서 출력할 수 있게 하는 라이브러리 입니다. 보통의 경우에는 결과 자료로 이미지를 출력하기 위해 나타내는 용도로 사용합니다. 만약에 다음과 같은 코드를 가진 함수를 그래프로 표현한다면 다음과 같습니다. def target(x,y=0): return (-20*np.exp(-0.2*np.sqrt(0.5*(x**2 + y**2))) - np.exp(0.5*(np.cos(2*np.pi*x) + np.cos(2*np.pi*y))) + np.e + 20) matplotlib를 활용해 그래프 생성: x_axis_val_front = -5 x_axis_val_back = 5 x = np.linspace(x_axis_val_front, x_axis_val_..

Python3 관련 2022.02.01

python csv 처리, 파일 저장 - 파이썬에서 엑셀 데이터 처리!

데이터 분석을 할 때 방대한 양의 데이터 처리를 하기 위해서는 처리하기 쉬운 데이터의 형태로 표현할 필요가 있습니다. 이럴 때 보통 엑셀에서도 사용할 수 있는 .csv 파일 형태로 변환합니다. CSV 파일이란? CSV (comma-separated values) 파일은 일반적으로 간단한 쉼표(,)로 구분한 텍스트 데이터 및 텍스트 파일이다. 출처: https://ko.wikipedia.org/wiki/CSV_(%ED%8C%8C%EC%9D%BC_%ED%98%95%EC%8B%9D) 먼저, 간단하게 csv 파일을 임의로 만들어 보겠습니다. 메모장으로 다음과 같이 만들어도 무방합니다. 저장할 때 주의할 점은 그대로 저장하면 엑셀에서 깨질 수 있으므로, ANSI 형식으로 인코딩하여 저장합니다. 저장된 .csv 파..

Python3 관련 2022.01.21

python3 - 파이썬으로 현재 시간 출력하기 datetime

개발하면서 다양한 코드를 작성하고 임시 저장하거나 많은 파일을 저장할 때 각자 다른 이름으로 저장해야 합니다. 하지만 이를 위해서 임의로 이름을 정해버리면 어떤 파일이 언제 만들어진 파일인지 알아내기가 힘듭니다. 만약에 파일에 시간을 넣는다면 해당 고민이 해결될 겁니다. 이번에는 파일에 시간을 넣어서 저장하는 방법에 대해서 알아보도록 하겠습니다. 먼저 datatime 라이브러리를 import 해줍니다. import datetime datetime을 통해서 저장할 당시에 현재 시간을 now 변수에 삽입해줍니다. now = datetime.datetime.now() 그러면 now 변수를 선언할 당시에 시간을 표기해줍니다. 마이크로 단위까지 표기해주네요. 그러면 한국사람이 알아보기 쉽게 시간을 한국 단위로 변..

Python3 관련 2022.01.21

Python & C, C++ 메모리 공유 / Python 메모리 관리

오늘은 python에서 메모리 관리에 관련한 내용에 대해 공유하고자 합니다. 임베디드 프로그래밍을 할 때 대부분 C, C++ 언어를 사용하여 작성합니다. 하지만 최근에는 임베디드 환경에서도 하드웨어의 성능이 개선되어 python을 적용시키기도 합니다. 따라서 기존에 C 혹은 C++로 컴파일된 프로그램에 Python을 접목시켜서 메모리 공유를 할 수 있다면 좋지 않을까 생각했습니다. 이에 관련하여 간단한 파이썬의 메모리 관리에 대한 내용을 요약하게 설명드리겠습니다. 본 내용은 파이썬 공식 documentation에서 참고하여 작성했습니다. https://docs.python.org/3/c-api/memory.html ▶간략 내용 요약 파이썬에서는 기본적으로 힙 영역을 사용하며, 동적 할당을 사용합니다. 힙..

Python3 관련 2022.01.19

[pycharm anaconda] 파이참에서 아나콘다 interpreter 환경 설정

파이참에서 아나콘다의 interpreter를 설정하는 방법에 대해 설명드리겠습니다. 일반적으로 아나콘다같은 환경을 사용하지 않으면 local에 여러 라이브러리를 설치해야 하기 때문에 컴퓨터가 지저분해질 수 있고 관리하기가 쉽지 않습니다. 따라서 아나콘다를 통해 환경을 분리해서 보통 사용하는데, python의 ide 환경으로 보통 pycharm을 사용하기 때문에 파이참에서 아나콘다 interpreter 환경을 구성하고 그 환경을 등록하는 방법에 대해 알아보도록 하겠습니다. 본 게시물은 windows 10 환경에서 기준으로 설명합니다. - Anaconda 다운로드 https://www.anaconda.com/products/individual 사이트에서 최신 아나콘다 설치 파일을 다운로드 합니다. Anaco..

Python3 관련 2022.01.18
반응형