1. 변수

▶ Type 함수 - type(변수명)

 : 데이터의 형태를 판별

a = 10
print(type(a))
더보기

<class 'int'>

 

▶ 형 변환

 : 정수, 실수, 문자열 등 변수의 자료형 변환

num1 = 10
str1 = str(num1)
print(str1, type(str1))
str2 = "20"
num2 = int(str2)
print(num2, type(num2))
str3 = "12.34"
num3 = float(str3)
print(num3, type(num3))
더보기

10 <class 'str'>
20 <class 'int'>
12.34 <class 'float'>

 

2. 문자열

▶ 문자열 인덱싱 & 슬라이싱

 : 문자열에서 인덱스(주소값)를 통해 한 글자(인덱싱) 또는 여러 글자(슬라이싱)를 읽는 것으로, 인덱스는 0부터 시작함

str1 = "python"
print(str1[0], str1[4])
str2 = "123456789"
print(str2[2::3])
str3 = "ABCDE"
print(str3[::-1])
더보기

p o
369
EDCBA

  • 슬라이싱에서 인덱스는 시작인덱스:끝인덱스:오프셋 으로 구성됨
    (오프셋 : 인접 인덱스와의 간격, + : 시작>끝, - : 끝>시작)

 

▶ 문자열 치환 - replace()

 : 문자열에서 replace 메소드를 사용하여 일부 문자열을 치환함

mobile_dot = "010.1234.1234"
mobile = mobile_dot.replace(".", "-")
print(mobile)
더보기

010-1234-1234

  • 문자열은 수정할 수 없는(Immutable) 자료형으로, 기존 문자열은 그대로 유지된 채 치환된 새로운 문자열이 반환됨

 

▶ 문자열 분리 & 결합 & 반복 - split()

  • 분리 : 문자열에서 split 메소드를 사용하여 특정 문자(또는 문자열)를 기준으로 문자열을 분리함
  • 결합 : 덧셈 기호(+)로 문자열들을 결합함
  • 반복 : 곱셈 기호(×)로 문자열을 반복함
url = "https://www.goooogle.com"
url_domain = url.split('.')
print(url_domain[-1])
str1 = "Hello"
str2 = "World!"
print(str1 + ' ' + str2)
str3 = "Hi"
print(str3 * 3)
더보기

com
Hello World!
HiHiHi

 

▶ 문자열 출력 - "%변수형" % (변수명), "{}".format(변수명), f"{변수명}"

 : 여러 방법의 print 포맷팅을 통해 문자열, 정수, 실수 등을 출력함

date = "2020-11-13" 
cmp_cd = "005930"
price = 62700
print("날짜: %s 종목: %s 주가: %d" % (date, cmp_cd, price))
print("날짜: {} 종목: {} 주가: {}".format(date, cmp_cd, price))
print(f"날짜: {date} 종목: {cmp_cd} 주가: {price}")
더보기

날짜: 2020-11-13 종목: 005930 주가: 62700
날짜: 2020-11-13 종목: 005930 주가: 62700
날짜: 2020-11-13 종목: 005930 주가: 62700

 

▶ 문자열 좌우 공백 제거 - strip(), lstrip(), rstrip()

 : 문자열에서 strip() 메소드를 사용하여 좌우 공백을 모두 제거하거나,
   lstrip() 또는 rstrip() 메소드를 사용하여 한 쪽의 공백을 제거함

str1 = "    Hello World!    "
str2 = str1.strip()
print(str2 + '.')
str3 = str1.lstrip()
print(str3 + '.')
str4 = str1.rstrip()
print(str4 + '.')
더보기

Hello World!.
Hello World!    .
    Hello World!.

 

▶ 문자열 대소문자 변경 - capitalize(), upper(), lower()

 : 문자열에서 capitalize() 메소드를 사용하여 문장의 첫 단어를 대문자로 시작하게 하거나,

   upper() 메소드와 lower() 메소드를 사용하여 전체 영문자를 대문자 또는 소문자로 변경함

str1 = "hello world!"
str2 = str1.capitalize()
print(str2)
str3 = "$: Usd ₩: Krw"
str4 = str3.upper()
print(str4)
str5 = str4.lower()
print(str5)

 

 

더보기

Hello world!
$: USD ₩: KRW
$: usd ₩: krw

 

▶ 문자열 시작 문자열 비교 - startswith( ("시작 문자열1", "시작 문자열2", ...) )

 : 문자열이 시작 문자열들 중 하나로 시작하는지 확인함

file1 = "2020_project01.xls"
print(file1.startswith("2020"))
더보기

true

 

▶ 문자열 최종 문자열 비교 - endswith( ("최종 문자열1", "최종 문자열2", ...) )

 : 문자열이 최종 문자열들 중 하나로 끝나는지 확인함

file1 = "test.txt"
print(file1.endswith("txt"))
file2 = "test.xls"
print(file2.endswith(("xlsx", "xls")))
더보기

true
true

 

'✒️ Python' 카테고리의 다른 글

[Python #1] 초보자 온라인 개발환경  (0) 2020.05.10

 

전공과 직업분야를 망라하여 데이터 처리와 분석, 머신러닝과 인공지능이 큰 이슈가 되고 있다.

최근 정부가 한국판 뉴딜로 '디지털 뉴딜'을 발표하면서 디지털 인프라 구축, 비대면화 산업 육성, 사회간접자본(SOC)의 디지털화의 3대 영역 프로젝트를 발표하면서, 2020 R&D 분야 예산안에서 Data, 5G, AI에 대한 적극적인 투자 확대 의지를 밝히기도 했다.

From https://m.post.naver.com/viewer/postView.nhn?volumeNo=28117751&memberNo=2627616


  Data Science, Machine Learning, Deep Learning은 공부를 할수록 그리고 실제 데이터를 다룰수록 데이터의 양이 급격히 늘어나며, 데이터의 질(오탈자, 불필요한 데이터 등)이 좋지 않은 경우가 흔하다. 이러한 데이터를 효율적으로 처리하고 분석하기 위한 라이브러리와 메소드가 제공되며, 연산속도가 빠르고 진입장벽이 낮다는 Python은 각종 데이터를 다루는 모든 이들의 이목을 끌고 있다.

 

  Python은 그 인기만큼 다양한 플랫폼을 통해 학습할 수 있다. 아래에서는 대표적인 초보자용 온라인 플랫폼들을 소개하고 Python을 배우고자 하는 분들의 플랫폼 결정에 도움이 되는 내용을 담고자 한다. 초보자용 온라인 플랫폼이라함은, 인터넷으로 연결된 외부 클라우드를 무료 또는 유료로 이용하여 저사양의 PC나 노트북에서도 데이터 처리와 기계학습을 진행할 수 있는 플랫폼을 일컫는다.


1. Google Colab

  - Link : https://colab.research.google.com/

 

Google Colaboratory

 

colab.research.google.com

  구글의 주피터 노트북으로, 인터넷이 연결되어 있다면 언제든지 접속하여 Python 코드를 실행할 수 있고, 자신의 Google ID와 연동하여 15GB의 데이터를 저장 및 불러오기 가능하다. 무료로 이용하더라도 12GB의 메모리와 GPU를 사용할 수 있다. 노트북의 런타임은 12시간(활동이 없을 시 1시간)으로 제한되는 단점이 있다. Colab의 개발 환경은 아래 그림을 참조하기 바라며, 여기서 브라우저는 Google Chrome을 이용해야할 것만 같은 느낌이다.

 

 

  실제로 Internet Explorer, Microsoft Edge를 이용할 경우 호환에 대한 경고 메시지가 뜨며, Google Research에서는 Chrome, Firefox, Safari의 최신 버전에서 Colab에 접속할 것을 추천하고 있다.


2. Azure Notebooks

  - Link : https://notebooks.azure.com/

 

 

Microsoft Azure Notebooks - Online Jupyter Notebooks

 

notebooks.azure.com

Microsoft에서 제공하는 온라인 플랫폼으로 Colab과 세 가지 측면에서 비교를 하고자 한다. (물론 무료 이용자 기준)

 

Speed 측면(Azure)에서는 Colab에 비해 Azure가 반응이 빠른 편이지만, Colab 이용에 큰 불편함을 느끼진 못 했다.

Computer Power 측면(Colab)에서는 Colab이 2.20GHz급의 CPU와 GPU를 제공하고, Azure는 4코어 CPU를 제공한다.

Memory 측면(Colab)에서는 Colab이 12GB의 RAM을, Azure는 4GB의 RAM을 제공한다.

 

Azure는 프로젝트당 1GB의 저장공간을 제공하며, 8시간(비활동 시 1시간)의 런타임으로 제한된다.

 

요약해서, 데이터량이 크고 계산량이 많을수록 Google Colab 사용을 권하고 싶다.

Azure Notebooks의 개발환경은 아래를 참조하기 바란다.

 


3. Replit리플릿

  - Link : https://repl.it/

 

The collaborative browser based IDE

Repl.it is a simple yet powerful online IDE, Editor, Compiler, Interpreter, and REPL. Code, compile, run, and host in 50+ programming languages: Clojure, Haskell, Kotlin (beta), QBasic, Forth, LOLCODE, BrainF, Emoticon, Bloop, Unlambda, JavaScript, CoffeeS

repl.it

  리플릿은 노트북 형태의 개발환경은 아니지만 꼭 필요한 창만 띄워 심플하게 환경을 구성해두었고, 로그인 없이 단 몇 초만에 가상환경을 생성할 수 있다. 무료 이용자의 경우 100MB의 저장공간과 500MB의 메모리 내로 제한되며, 그 이상이 필요할 경우 유료 구독자가 되거나 다른 플랫폼을 사용할 수 있다.

 

  다양한 언어(Python, Nodejs, C/C++, Java, Ruby, HTML, CSS, JS, Scheme, Go, Rust 등)를 지원하며, 손쉽게 코드를 컴파일을 할 수 있기 때문에 Youtube 등 각종 온라인 Learning Course 또는 코딩테스트 진행 시 유용하게 사용하고 있다. 리플릿의 개발 환경은 아래 그림을 참조하기 바라며 마찬가지로 Chrome 브라우저로 접속하였다.

 


이 외에 추가적인 온라인 플랫폼들은 아래에 나열한다.

 

 binder

  - Link : https://mybinder.org/

 

The Binder Project

Reproducible, sharable, interactive computing environments.

mybinder.org

kaggle kernel

  - Link : https://www.kaggle.com/

 

Kaggle: Your Machine Learning and Data Science Community

Kaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals.

www.kaggle.com

CoCalc

  - Link : https://cocalc.com/

 

CoCalc - Collaborative Calculation and Data Science

CoCalc's own Jupyter Notebook implementation offers real-time synchronization, time-travel, automatic grading, side-chat, and more.

cocalc.com

Datalore

  - Link : https://datalore.io/

 

Datalore

 

datalore.io

 

'✒️ Python' 카테고리의 다른 글

[Python #2] 자료형 - 변수, 문자열  (0) 2020.11.13

+ Recent posts