본문 바로가기

Computer Science

[Computer Science] 컴프리헨션(comprehension) Comprehension 실제 프로그래밍에서 한 줄로 파이썬 기능을 구현할 수 있는 기능이다. 장점: 코드 간소화를 위해 사용, 직관적이며 빠른 속도 단점: 조건이 복잡해 지는 경우 직관성 떨어지고, 메모리 사용량이 증가 하여 사용 어려움 리스트 컴프리헨션 예제 1 리스트속의 숫자를 제곱한 값을 리스트로 도출시키기 '''일반 for문 ''' numbers = [1, 2, 3, 4] squares = [] for n in numbers: squares.append(n**2) print(squares) ''' Comprehension 사용 ''' numbers = [1, 2, 3, 4] squares = [n**2 for n in numbers] #리스트 안에 for문을 축약해 작성함. print(squar.. 더보기
[Computer Science] OOP 개념을 활용하여 코드설계 단계별로 코드설계를 진행한다. 코드설계를 진행하는데 앞서, 바로 소스코드를 작성하지 않고 그림과 글을 통해 자신의 방법으로 코드블록을 구성해본다. 1단계 코드 설계 시 사용할 object부터 적어보자. Users Customers Vendors Admin Products Purchases 2단계 코드 작성 전, 각 object별로 요구되는 속성과 어떤 기능을 위해 생성되었는지 설계한다. Users Attributes(속성) 이름 사용자가 관리자인지? Customers Attributes 이름 구매목록 Vendors Attributes 이름 상품목록 Admin 이름 사용자가 관리자임을 나타내는 구분값 Products Attributes 이름 가격 공급업체 Purchases Attributes 제품 고객 가.. 더보기
[Computer Science] 파이썬 with OOP(Object-Oriented Programming) OOP(Object-Oriented Programming) 최소비용으로 최대효율을 지향하며. 세상에 있는 실체가 있는 모든 물체를 클래스와 인스턴스, 함수, 변수라는 object로 변화시켜서 프로그램을 구성. 기본 전제는 기능(함수, 변수) 재사용이 가능한 설계 및 프로그래밍. 기본 개념 설계(사람이 이해하는 방식)와 구현할 소스코드(컴퓨터가 이해하는 방식) 간의 상호이해가 중요하다. HW&SW 성능증가 (CPU성능 증가, 소프트웨어 다중실행) 덕분에 OOP의 모든 기능을 활용할 필요는 없다. OOP의 개념을 무분별하게 활용하면 유지보수가 어려워질 수도 있기때문에 설계방향 및 서비스기능에 따라 사용해야 한다. OOP를 제대로 하는 법은 프로그래밍뿐만 아니라 다양한 도메인에서 재사용 가능한 클래스, 메소드.. 더보기
[Python] CLI로 사용하기 Terminal, git bash, Command line Command Line Interface (CLI) Terminal 혹은 Command line, Power Shell과 같이 문자로 명령하는 인터페이스 (할미시절 ms-dos, C++ 같은 느낌의 인터페이스같은것) Graphic User Interface(GUI) windows os, mac os처럼 그래픽을 클릭하면서 명령하는 인터페이스 https://youtu.be/hNdAQQeqkYU Terminal vs. Bash vs. Command-line 차이 terminal emulator is the window bash is the language that runs in most terminal emulators (zsh , bash , shell= langauge) visual studio code.. 더보기
[Python] 파이썬에서 Github 사용하기 (ft.잔디농사를하자git commit) Git, Github git : 버전관리도구 like as 사진기, 블랙박스 git clone vs pull : git clone은 리모트 설정을 자동으로 해주는 초기 다운로드에 사용하고git pull은 리모트 설정이 이미 되어있을 떄 업데이트 사항 등을 다운로드 할 떄 사용한다고 github : git을 이용한 협업도구 git init : 깃시작 ------- git clone https://저장소path : 원격저장소를 로컬로 끌어올 수 있음. 이 경우에 git init은 하지않아도 된다. ------------ # git 처음 시작할때 git config user.name git config user.email --------- git reset "돌아갈 commit 번호" --hard : 완전히 .. 더보기
[Python] Conda 가상환경만들기 (+ 패키지 확인하기 저장하기 설치하기 requirements.txt) 파이썬에서 작업을 시작 하기전 가상환경을 왜 만들어야 할까? 모두의 컴퓨터 환경이 다르고 각 코드들이 요하는 설치 버전이 다르기 때문에 콘다 가상환경을 통하여 각각에 맞는 버전및 요구되어지는 파일을 설치하고 작업을 시작한다. 콘다 가상환경을 만들때 가상환경명은 알아보기 쉽고 이해가 직관적으로 만들어 주는것을 권장한다. conda --version : conda 버전 확인 conda create -n 환경명 python=버전 : 가상환경 생성 conda env list : conda의 가상환경 리스트 확인 conda remove -n 환경명 --all : 가상환경 삭제 activate 가상환경명 : 가상환경 실행 conda deactivate : 가상환경 비활성화 콘다 가상환경을 만들고 설치된 패키지 파일.. 더보기
[Python] Basic Collection - list[], tuple(), dict{} 기본자료형 vs 컬렉션 자료형 기본 자료형(문자열, 숫자, bool)등은 특정 하나의 값만 사용. 컬렉션은 여러개의 값을 저장 할 수 있다. 컬렉션 자료형의 특징에 따라 리스트, 튜플, 셋, 딕셔너리로 구분. List [ ] 컬렉션 자료형에서 가장 많이 쓰이는 자료형태로; 딘순자료형이 아닌 자료구조의 형태를 취함 리스트는 가변 가능함 (=동적이다) ; 인덱스와 메소드를 활용, 값의 수정 및 정렬이 쉽다. cheeses = ['Cheddar', 'Edam', 'Gouda'] numbers = [123, 456] empty = [] print(cheeses, numbers, empty) # ['Cheddar', 'Edam', 'Gouda'] [123, 456] [] print('numbers[1] :',nu.. 더보기
[데이터전처리] tidy-wide tabular data -변환-> Pivot Table, Melt 1. Wide Table (long-form형식) 이러한 데이터를 기반으로 실제로 구현, 변환을 해보겠습니다. %matplotlib inline import pandas as pd import numpy as np import seaborn as sns wide_table1 = pd.DataFrame([[np.nan, 2], [16, 11], [3, 1]], index=['X', 'Y', 'Z'], columns=['A', 'B']) wide_table1 A B X NaN 2 Y 16.0 11 Z 3.0 1 wide_table1은 wide table의 형태 (=long-form) 테이블은 2개의 열과 3개의 행으로 구성되어 있으며 각각 라벨링 되어 있습니다. 2. Transpose (.T; 전치) wid.. 더보기