728x90
반응형

들어가기 전  

 

PyCharm

PyCharm은 전문 개발자를 위한 전체 스택 Python 통합 개발 환경(IDE)이다. Python 개발, 전체 스택 웹 개발, 데이터 과학 등 모든 Python 워크플로우를 지원한다. 지능형 Python 및 R 코드 지원, Python 웹 개발 프레임워크, javaScript 및 TypeScript, HTML/CSS, 데이터베이스, Jupyter Notebook에 대한 광범위한 지원을 한다.

 

DataSpell

DataSpell은 탐색적 데이터 분석 및 머신 러닝 모델 프로토타이핑을 위해 특별히 설계된 IDE이다. Jupyter Notebook의 대화형 기능과 지능형 Python 및 R코딩 지원을 하나의 사용자 친화적인 환경에 결합했다.

지능적인 코딩 지원, 버전 관리 및 기타 IDE 관련 기능은 물론 데이터를 시각화하고 데이터에서 인사이트를 얻는 데 도움이 되는 테이블, 플록 및 위젯 같은 대화형 출력기능이 있다.

 

추천사이트

1. MDN

https://developer.mozilla.org/ko/

 

MDN Web Docs

The MDN Web Docs site provides information about Open Web technologies including HTML, CSS, and APIs for both Web sites and progressive web apps.

developer.mozilla.org

 

2. SDKMAN (Java 개발환경 관리 Tool)

JVM 기반 언어와 프레임워크를 쉽게 관리할 수 있게 해주는 도구. 이 도구를 사용하면, JDK, Groovy, Scala, Kotlin 등과 같은 JVM 기반의 언어와 Gradle, Maven 등의 빌드 도구를 손쉽게 설치하고 관리할 수 있도록 도와준다.

https://sdkman.io/

 

Home - SDKMAN! the Software Development Kit Manager

SDKMAN! is a tool for managing parallel versions of multiple Software Development Kits on most Unix based systems.

sdkman.io

 

Settings에서 세부설정 바꾸기

1. Font 변경

2. 각 주석들의 폰트 색상 변경

3. 테마

 

플러그인 옵션 추천

1. CodeGlance3 (코드 미니맵을 생성해주는 플러그인)

2. Tabnine AI Code Compieton (코드 자동 완성) - 유료

 

Run Time Data Areas

자바 가상 머신의 메모리 모델

자바 기술 문서 : https://docs.oracle.com/javase/specs/jvms/se11/html/jvms-2.html#jvms-2.5


Python

-Python에서는 들여쓰기Indent가 문법으로 여겨진다.

-파이썬은 세미콜론을 붙이지 않는다. 단, 세미콜론을 붙여도 문법 에러는 발생하지 않는다. 보통 한 줄에 여러 구문을 사용할 때 세미콜론으로 구분해준다.

-terminal 에서 pwd 검색 시 경로를, dir 검색 시 세부정보를 알려준다.

-실행 단축키 : Ctrl + Shift + F10

 

Jupyter Notebook

-단축키

ESC : 셀 선택 상태

M : Markdoum 모드로 변경

Y : Code 드로 변경

DD : 셀 삭제

Shift + Enter : 입력 셀 실행 후 아래 셀로 이동 (없으면 새로운 셀 추가)

Ctrl + Enter : 입력 셀 실행

Ctrl + Shift + Enter :  이전으로 돌아감

 

-상단 카테고리 변경 (Code/Markdown)

Code - 코드 작성

Markdown - 메모

Markdown 사용법

https://heropy.blog/2017/09/30/markdown/ 

 

MarkDown 사용법 총정리

마크다운(MarkDown)에 대해서 알고 계신가요?파일 확장자가 .md로 된 파일을 보셨나요?웹 개발을 하면서 아마 README.md라는 이름의 파일을 한 번은 보셨을텐데, ...

heropy.blog


Python

 

변수

#정의

- 데이터를 저장하고, 변하는 수
- 이름과 값으로 구성

# 변수는 왜 필요한가
- 데이터는 계속 변화하기 때문에, 데이터를 변수로 지정해 놓고 변수 값만 변경하면 된다.

# 변수 이름 규칙
- 영문자로 + 숫자 + underbar의 형식을 사용한다. ex) a, a1, a1_
- 공백이 있으면 안된다 
- 대소문자 구분한다
- 특수문자가 있으면 안된다

# 데이터의 종류
-숫자형 : 정수, 실수
-문자형 : 문자, 문자열
-복합형 : 클래스, 리스트, 딕셔너리

# print 함수
-기본 출력 장치로 결과를 출력
-print(변수 or 출력하고 싶은 결과물)

 

1. 숫자

- 숫자 형태로 이루어진 자료형

- 정수(int) : 1, 2, -1, 0

- 실수(float) : 1.11, -1.000, 10e5, 10e-5

 

1-1. 숫자 변수 예제

# 과일 가게의 총 매출
품목 :
    바나나 (1000원)
    사과 (500원)
    체리 (5000원)
    
고객  
손씨 : 사과 (2)
손씨 : 체리 (3)
김씨 : 사과 (4)
박씨 : 바나나 (1)
박씨 : 사과 (2)
박씨 : 체리 (1)

# 객단가(고객 1명당 평균 매출)를 구해보시오.
바나나 = 1000
사과 = 500 
체리 = 5000

손씨 = (사과 * 2) + (체리 * 3)
김씨 = 사과 * 4
박씨 = (바나나 * 1) + (사과 * 2) + (체리 * 1)
sum = 손씨 + 김씨 + 박씨
print('총 매출 : ', sum)
print('객 단가 : ', sum/3)

결과

총 매출 :  25000
객 단가 :  8333.333333333334

 

2. 문자

-문자 형태의 데이터

-" " 이용하거나 ' ' 로 감싸준다.

- 인덱싱

     >>슬라이싱 : 인덱스의 시작 ~ 끝(범위, 간격)을 지정하는 방법

- java에서 문자열 곱하기는 불가능했지만 파이썬에서는 가능하다

- 문자열 포맷 : 문자열 내에서 변수, 값 또는 표현식을 삽입하거나 형식을 지정하는 방법

 

2-1. 문자열 함수

- upper() : 대문자 바꾸기

- lower() : 소문자 바꾸기

- count() : 문자열 안의 특정 문자열 개수 반환

- join() : 특정 문자열을 기준으로 문자열을 삽입

- split() : 특정 문자열을 기준으로 문자열을 나눈다

- replace() : 특정 문자열을 지정 문자열로 반환

- strip() : 공백제고 (lstrip, rstrip)

- find() : 특정 문자열을 찾아준다

- input() : 기본 입력 장치로 부터 입력된 정보를 반환한다.변수 = input()의 형식으로 사용

 

3. 리스트

- 요소들의 모음을 나타내는 자료형

- 요소들은 []로 감싼다

- 모든 자료형을 담을 수 있다

- 리스트 연산

     >> + 연산자 : 순서대로 연결하여 하나의 리스트로 만든다
     >> * 연산자 : 곱하는 수 만큼 반복하여 하나의 리스트로 만든다

 

3-1. 리스트 함수

- len() : 리스트의 길이를 반환
- sum(), min(), max() 함수 : 리스트 요소의 총합, 최솟값, 최댓값 (문자의 경우도 코드가 있기 때문에 코드가 가장 작은 값, 큰 값 반환)
- in() : 특정 요소가 리스트에 있는지 확인하는 함수
- append() :  맨 마지막에 요소 추가
- extend() :  맨 마지막에 다른 리스트를 추가
- insert() : 특정 위치에 요소를 삽입한다
- remove(), pop() : 리스트의 요소를 삭제
- join() : 리스트의 요소들을 하나의 문자열로 합침
- split() : 문자열 리스트의 요소들로 나눈다

- range() : range(시작, 끝, 간격)을 리스트로 반환해준다.

 

4. 튜플

- 리스트와 같다
- 수정 불가능 (불변성)
- 리스트보다 빠르다
- []가 아닌 () 사용
- append, insert, extend, remove, pop, sort 사용할 수 없다
- 튜플은 항목 할당을 지원하지 않는다. 즉, 대입 연산자가 먹히지 않는다.

 

728x90
반응형

+ Recent posts