728x90

2021/05 12

[python] 다중상속

다중상속이란? "다중상속"이란 "여러 개의 클래스로부터 기능을 상속받는 것"을 의미한다. 예를 들어, "A클래스와 B클래스를 바탕으로 C클래스를 만든다"는 것이라고 할 수 있다. 참고로 "A클래스로부터 B클래스를 파생시켜, 다시 B클래스로부터 C클래스를 파생시키는 것"은 상속(단일 상속)의 연쇄일뿐이므로, 다중상속이라고 할 수 없다. 다양한 이유로 인해 최근의 프로그래밍언어에서는 다중상속을 크게 지원하지 않지만, Python은 다중상속을 지원하고 있다. 다중상속을 구현하기 위해서는 클래스를 정의하고 기초가 되는 클래스를 여러 개 작성할 뿐이므로 작성법 자체는 어렵지 않다. 아래를 코드를 예로 살펴보도록 하겠다. class A: def hello(self): print('Hello from A') clas..

IT/언어 2021.05.28

[python] python으로 JSON 파일 다루는 기초적인 방법

Python의 표준 라이브러리인 json모듈을 사용하면 JSON형식의 파일이나 문자열을 파스해서 사전형 dict등의 객체로써 읽어 들일 수 있다. 또한 JSON에 상당하는 객체를 정형화하여 JSON형식의 파일이나 문자열로써 출력하거나 저장하는 것도 가능하다. 이번 포스팅을 통해서 살펴 볼 내용은 다음과 같다. JSON문자열을 사전형(dict형)으로 변환 : josn.loads() - 순서대로 저장 : 인수 object_paris_hook - 바이트열을 변환 JSON파일을 사전형으로 읽어들이기 : josn.loads() 읽어들인 사전형 데이터의 값을 취득, 변경, 삭제, 추가하기 - 값의 변경 - 요소의 삭제 - 요소의 추가 사전형(dict형)을 JSON문자열로 정형화하여 출력 : json.dumps() ..

IT/언어 2021.05.22

[Singularity] Singularity란?

이번 포스팅에서는 Singularity란 무엇이고, 커맨드 군집 그리고 설치 방법에 대해서 간단히 살펴보고자한다. 조작 방법은 차차 나중에 포스팅할 예정이다. Singularity란 Singularity란 한 마디로 설명하자면 HPC용의 컨테이너형 가상화이다. 과학 및 고성능 컴퓨팅 환경용으로 설계된 오픈 소스 베이스의 컨테이너 플랫폼으로 아래와 같은 특징이 있다. 일반 유저 계정으로 컨테이너를 기동시키거나 중지시킬 수 있다. 즉, 유저 어카운트에 sudo권한을 부여할 필요가 없어서 좋다. 여러 명에서 작업을 할 때에 sudo권한을 가진 유저 중 한 명이 잘못 조작하는 것과 같은 번거로운 문제가 해결된다. Docker이미지를 이용할 수 있다. 다시 말하자면, docker 및 nvidia-docker컨테이..

IT/기초 지식 2021.05.21

설명 변수와 목적 변수

머신 러닝 공부 중 설명 변수와 목적 변수에 대한 내용이 있어 한 번 정리해보고자 한다. 설명 변수와 목적변수 간단히 정의하자면 설명 변수와 목적 변수를 다음과 같이 정리할 수 있을 것 같다. 목적 변수 : 기계학습의 교사 학습(Supervised learning)에 있어서 예측하고 싶은 정보 설명 변수 : 기계학습의 교사 학습(Supervised learning)에 있어서 예측에 사용하는 정보 모델 : 설명 변수와 목적 변수를 결합하는 "상자'(함수나 프로그램) 동의어는 다음과 같다. 목적 변수 설명 변수 - 종속 변수(Dependent variable) - 반응 변수(Response variable) - 결과 변수(Outcome variable) - 표적 변수(Target variable) - 독립 ..

IT/AI\ML 2021.05.18

[python] pandas로 요소, 행, 열에 함수를 적용하는 map, applymapp, apply

적용할 함수, 대상에 따른 차이 pandas의 객체(pandas.DataFrame, pans.Sries)에 함수를 적용할 경우, 어떠한 함수에 적용하는가 그리고 요소/행/열 어디에 적용할 것인가에 따라 사용하는 메소드가 달라진다. Numpy함수의 인수로 pandas객체를 지정 - 함수의 인수에 pandas객체를 지정하는 것이 가능하다. - 함수의 종류 및 인수의 설정에 따라 요소/행/열에 적용되는 방법이 다르다 - pandas객체의 메소드로 사전에 정의되어 있는 함수도 있다. pandas객체의 메소드에 함수를 적용 - 요소(스칼라값)에 관한 함수 + Series의 각 요소에 적용: map(), apply() + DataFrame의 각 요소에 적용: applymap() - 행/열(1차원 배열)에 관한 함수..

IT/언어 2021.05.17

[python] pathlib 사용법 (패스(경로)를 객체로써 조작, 처리)

Python의 pathlib모듈을 사용하면, 파일, 디렉토리(폴더)의 경로를 객체로써 조작하거나 처리할 수 있다. 파일명 혹은 부모 디렉토리를 알아내거나, 경로의 목록을 얻어내거나, 파일을 작성하거나 삭제하는 등, 대략적인 파일관련된 처리가 가능하다. 익숙해지면 경로 문자열을 이용하는 기존의 os.path보다는 사용하기 편할 것이다. pathlib는 Python 3.4부터 추가된 모듈이다. 표준 라이브러리에 포함되어있으므로 별도의 인스톨이 필요하지 않다(물론 , 사용 전에 import 구문 작성은 필요하다) . 여기서 pathlib모듈의 기본적인 사용법으로 아래의 내용에 대해서 살펴 볼 것이다. Path 오브젝트의 생성·처리 - 컨스트럭터 pathlb.Path() - 메소드의 실행 - 존재하지 않는 경로..

IT/언어 2021.05.15

[python] python의 self와 __init__의 이해

※ 일본의 한 포스팅을 번역한 글입니다. 오역 및 직역이 있을 수 있으며, 내용 오류는 댓글로 지적해주심 감사하겠습니다. Python의 클래스에 대한 이해 다른 언어와 동일하게 python에서도 클래스를 이용하여 보다 편리하게 함수를 다룰 수 있다. 참고로 클래스는 데이터나 처리의 정의 등을 하나로 정리해둔 모형과 같은 것이다. 클래스를 사용하지 않고 함수 작성한다면 보통 다음과 같이 작성한다. def some_function(something): print(something) 그러나 클래스를 이용한다면 기본적으로 다음과 같이 작성하게 된다. class SomeClass: def __init__(self,something): self.something = something def some_function..

IT/언어 2021.05.14

[python] Python 정규표현 모듈 re 사용법 (match, search, sub등)

Python에서는 정규표현 처리를 하기 위해 표준 라이브러리인 re 모듈을 사용한다. 정규표현 패턴를 이용한 문자열의 추출이나, 치환, 분할 등이 가능하다. 이번 포스팅에서는 먼저 re모듈의 함수나 메소드에 대해서 설명한다. - 정규 표현 패턴의 컴파일 compile() - 매치 오브젝트 - 문자열의 앞 부분이 매치되는가를 체크, 추출 match() - 선두에 한해서 매치하는지를 체크, 추출 search() - 문자열 전부가 매치되는가를 체크 fullmatch() - 매치된 부분 모두 리스트로 취득 findall() - 매치된 부분 모두 이터레이터(iterator)로 취득 finditer() - 매치된 부분을 치환 sub() subn() - 정규표현 패턴으로 문자열을 분할 spilt() 그 다음에는 re..

IT/언어 2021.05.12

[python] os.path.join사용법

os.path.join이란 경로(패스)명 조작에 관한 처리를 모아둔 모듈로써 구현되어 있는 함수의 하나이다. 인수에 전달된 2개의 문자열을 결합하여, 1개의 경로로 할 수 있다. os.path.jon()을 사용하기 위해서는, os 모듈을 import할 필요가 있다. 실제로 os.path.join()을 호출하는 방법과 실행 결과를 확인해보자. #! /usr/bin/env python import os print("join(): " + os.path.join("/A/B/C", "file.py")) 실행결과는 다음과 같다. join(): /A/B/C/file.py 이와 같이 경로와 피일명을 결합하거나 분할된 경로를 하나로 정리하거나하는 것이 가능하다. 아래에서는 구체적인 사용법에 대해서 알아보고자한다. joi..

IT/언어 2021.05.11

[Docker] Docker 이미지 튜토리얼

개요-스스로 hello-world 이미지를 빌드 이 튜토리얼은 "hello-world" 이미지를 스스로 빌드하는 예를 통해 이미지에 대한 이해를 깊게 하기 위함이다. 또한 효율적인 Dcoker 이미지 작성이나 Dockerfile의 활용을 목표로 기초 이외에어 멀티 스테이지, 빌드도 학습할 것이다. 포인트는 Docker이미지(image)란, Docker컨테이너의 실행에 필요한 일종의 패키지(파일이나 메타 정보의 집합체)이다. 다만 가상 머신 이미지와 같이 1개의 파일이 아니다. 그리고 Docker이미지를 구성하는 것은 추상적인 이미지 레이어(image layer)의 집합이다. 레이어란 "층"의 의미로, Docker은 여러 개의 레이어 상의 파일 시스템을 하나로 다룰 수 있게 한다. 일반적인 Docker 이..

IT/기초 지식 2021.05.10
728x90