[Python] 문자열(String) Start

BioinformaticsAndMe





Python String


: 파이썬 문자열은 작은따옴표(Single quotation) 또는 큰따옴표(Double quotation)로 둘러싸임

→ 'Hello' 또는 "Hello"

# 문자열 Hello 출력

print("Hello") print('Hello')

Hello

Hello



Assign String to a Variable


: 변수에 문자열을 할당하기 위해서는 'equal sign(=)'을 사용

# 문자열 Hello를 a 변수에 할당 후 출력

a = "Hello" print(a)

Hello



Python character array


: 파이썬 문자열은 문자의 요소들이 0번째부터 시작되는 배열을 이루고 있음

# 대괄호를 사용하여 문자열 요소에 접근

a = "Hello, World!" print(a[1])

e



Slicing


: 슬라이스 구문(':', 콜론)을 사용하여 문자열 일부를 리턴할 수 있음

→ [start index]:[end index]

# Index2 ~ Index4 문자 슬라이싱 (Index5는 포함되지 않음)

b = "Hello World" print(b[2:5])

llo



Negative Indexing


: 음수부호(-)를 사용하여 문자열을 끝에서부터 일부를 리턴할 수 있음

→ [-start index]:[-end index]

# -Index5 ~ -Index3 문자 슬라이싱 (-Index2는 포함되지 않음)

b = "Hello World" print(b[-5:-2])

Wor



String Concatenation


: 파이썬 문자열은 양수부호(+)를 사용하여 연결지을 수 있음

# 문자열 더하기

a = "Hello" b = "World"

print(a+b)

HelloWorld



String Length


: len() 함수를 사용하여 문자열의 길이(공백 포함)를 알 수 있음

# 문자열 길이 구하기

a = "Hello, World!" print(len(a))

13




파이썬 문자열 함수


함수

기능

실행

결과

strip

문자열 앞/뒤 공백 제거

a = " Hello, World! "

print(a.strip())

Hello, World!

lower

모든 대문자를 소문자로

a = "Hello, World!"

print(a.lower())

hello, world!

upper

모든 소문자를 대문자로

a = "Hello, World!"

print(a.upper())

HELLO, WORLD!

replace

문자열 치환

a = "Hello, World!"

print(a.replace("H", "J"))

Jello, World!

split

특정 구분자를 기준으로 문자열을 나눔

a = "Hello, World!"

b = a.split(",")

print(b)

['Hello', ' World!']

rsplit

특정 구분자를 기준으로 문자열을 나눔
*문자열 끝에서부터 split 수행

txt = "apple, banana, cherry"

x = txt.rsplit(", ")

print(x)

['apple', 'banana', 'cherry']

find

특정 문자가 처음 위치하는 index 찾기

txt = "Hello, welcome to my world"

x = txt.find("welcome")

print(x)

7

join

특정 구분자를 문자열 사이에 삽입

myTuple = ["John", "Peter", "Vicky"]

x = "#".join(myTuple)

print(x)

John#Peter#Vicky

count

특정 문자의 개수 세기

txt = "I apples, You apple"
x = txt.count("apples")
print(x)

1

startswith

문자열의 시작이 특정 문자인지 확인

txt = "Hello, welcome to my world."

x = txt.startswith("Hello")

print(x)

True





#Reference

1) https://www.w3schools.com/python/python_strings.asp

2) https://pythonspot.com/array-find/

3) https://netjs.blogspot.com/2019/07/string-slicing-in-python.html




[Python] 문자열(String) End

BioinformaticsAndMe

'Python' 카테고리의 다른 글

[Python] 사전(Dictionary)  (0) 2019.11.05
[Python] 리스트(List)  (0) 2019.10.30
[Python] 연산자(Operator)  (0) 2019.10.18
[Python] 자료형(Data type)  (0) 2019.10.15
[Python] 주석 처리  (0) 2019.10.15

[Python] 연산자(Operator) Start

BioinformaticsAndMe






Python 연산자


: 파이썬 연산자는 변수 및 특정값에 대한 작업을 위해 사용됨

: 파이썬의 기본 연산자는 7가지로 나뉨

1. 산술 연산자(Arithmetic operator)

2. 할당 연산자(Assignment operator)

3. 비교 연산자(Comparison operator)

4. 논리 연산자(Logical operator)

5. 식별 연산자(Identity operator)

6. 멤버 연산자(Membership operator)

7. 비트 연산자(Bitwise operator)




1. 산술 연산자(Arithmetic operator)


: 산술 연산자는 기본적인 수학 연산을 위해 사용

연산자

기능

실행

결과

+

더하기(Addition)

1 + 1

2

-

빼기(Subtraction)

3 - 2

1

*

곱하기(Multiplication)

2 * 2

4

/

나누기(Division)

4 / 2

2

%

나머지(Modulus)

5 % 2

1

**

제곱(Exponentiation)

3 ** 3

27

//

몫(Floor division)

7 // 2

3



2. 할당 연산자(Assignment operator)


: 할당 연산자는 변수에 값을 대입하기 위해 사용

연산자

기능

실행

결과

 =

왼쪽 변수에 오른쪽 값을 할당

x = 5

5

 +=

 왼쪽 변수에 오른쪽 값을 더한 후,

그 결과를 다시 왼쪽변수에 할당

x += 3

8

 -=

 왼쪽 변수에서 오른쪽 값을 뺀 후,

그 결과를 다시 왼쪽변수에 할당

x -= 3

2

 *=

왼쪽 변수에 오른쪽 값을 곱한 후,

그 결과를 다시 왼쪽변수에 할당

x *= 3

15

 /=

왼쪽 변수에서 오른쪽 값을 나눈 후,

그 결과를 다시 왼쪽변수에 할당

x /= 3

1.6666666666666667

%=

왼쪽 변수에서 오른쪽 값을 나눈 후,

그 나머지의 결과를 다시 왼쪽변수에 할당

x %= 3

 2



3. 비교 연산자(Comparison operator)


: 비교 연산자는 두 값을 비교하기 위해 사용

연산자

기능

실행

결과

==

값이 같음

5 == 3

False

!=

값이 같지 않음

5 != 3

True

>

왼쪽이 오른쪽 값보다 큼

4 > 3

True

<

오른쪽이 왼쪽 값보다 큼

3 < 3

False

>=

왼쪽이 오른쪽 값보다 크거나 같음

6 >= 6

True

<=

오른쪽이 왼쪽 값보다 크거나 같음

7 <= 8

False



4. 논리 연산자(Logical operator)


: 논리 연산자는 조건문을 연결하기 위해 사용

연산자

기능

실행

결과

and

모두 참이면 True 리턴

2<5 and 3<10

True

or

하나라도 참이면 True 리턴

2<4 or 7>5

True

not

결과가 False이면 반대인 True 리턴

not(3<4 and 5<2)

True



5. 식별 연산자(Identity operator)


: 식별 연산자는 메모리 위치가 동일한지를 비교하기 위해 사용

연산자

기능

실행

결과

is

두 변수가 같은 객체메모리면 True 리턴

x = ["apple", "banana"]

y = ["apple", "banana"]

z = x

print(x is z)

True

is not

두 변수가 같은 객체메모리가 아니면 True 리턴

x = ["apple", "banana"]

y = ["apple", "banana"]

z = x

print(x is not y)

True



6. 멤버 연산자(Membership operator)


: 멤버 연산자는 시퀀스가 해당 객체에 존재하는 확인하기 위해 사용

연산자

기능

실행

결과

in

객체 내에 해당 값이 포함된다면 True 리턴

x = ["apple", "banana"]

print("banana" in x)

True

not in

객체 내에 해당 값이 포함되지 않으면 True 리턴

x = ["apple", "banana"]

print("pineapple" not in x)

True



7. 비트 연산자(Bitwise operator)


: 비트 연산을 통하여 2진법으로 구성된 값을 계산하기 위해 사용

연산자

기능

실행

결과

& (Binary AND)

비트 단위로 and 연산

(모두 1일 경우 1 리턴)

x=0b0110; y=0b1010

print(bin(x&y), x&y)

0b10 2

| (Binary OR)

비트 단위로 or 연산

(둘 중 하나가 1일 경우 1 리턴)

x=0b0110; y=0b1010

print(bin(x|y), x|y)

0b1110 14






#Reference

1) https://www.w3schools.com/python/python_operators.asp

2) https://wikidocs.net/1043

3) http://pythonstudy.xyz/python/article/8-%EC%97%B0%EC%82%B0%EC%9E%90

4) https://wikidocs.net/20704

5) https://076923.github.io/posts/Python-6/




[Python] 연산자(Operator) End

BioinformaticsAndMe

'Python' 카테고리의 다른 글

[Python] 리스트(List)  (0) 2019.10.30
[Python] 문자열(String)  (0) 2019.10.24
[Python] 자료형(Data type)  (0) 2019.10.15
[Python] 주석 처리  (0) 2019.10.15
Anaconda 설치  (0) 2019.10.08

[Python] 자료형(Data type) Start

BioinformaticsAndMe






Python data type (자료형)


: 자료형이란 프로그래밍에 사용되는 숫자, 문자열 등 자료 형태의 모든 것

: 파이썬은 정수/실수/문자/논리형 등의 기본 자료형 형태를 처리함

# 정수형(Integer type): 양 또는 음의 정수 1, 2, -8, -42

data_int = 150 #정수형 선언

# 실수형(Float type): 소수점이 포함된 실수 6.8, -13.5, 24e12

data_flo = 9.0 #실수형 선언

# 문자형(String type): 따옴표[ ' 또는 " ]에 들어간 문자형 'abc', "defg", 'ab12cd'

data_str = 'abcd' #문자형 선언

#논리형(Boolean type): 참 또는 거짓 True, False

data_boo = True #논리형 선언 (대소문자 구분해야함 → true는 error 발생)





Python type conversion (자료형 변환)


: 파이썬에서는 자료형의 타입을 매우 간단하게 변환할 수 있음

# int(): 정수형 변환

x = int(1) y = int(2.8)

z = int("3")

print(x) print(y) print(z)

1

2

3

# float(): 실수형 변환

x = float(1) y = float(2.8) z = float("3") w = float("4.2") print(x) print(y) print(z) print(w)

1.0 2.8 3.0 4.2

# str(): 문자형 변환

x = str("s1") y = str(2) z = str(3.0) print(x) print(y) print(z)

s1 2 3.0





#Reference

1) https://wikidocs.net/11

2) https://www.slideshare.net/TonyNguyen197/python-language-data-types-61715303

3) https://www.w3schools.com/python/python_casting.asp

4) http://www.techgeekbuzz.com/python-type-conversion-type-casting/





[Python] 자료형(Data type) End

BioinformaticsAndMe

'Python' 카테고리의 다른 글

[Python] 문자열(String)  (0) 2019.10.24
[Python] 연산자(Operator)  (0) 2019.10.18
[Python] 주석 처리  (0) 2019.10.15
Anaconda 설치  (0) 2019.10.08
Python JSON  (0) 2019.10.02

[Python] 주석 처리 Start

BioinformaticsAndMe






주석(Comment)


: 주석(comment)이란 무엇을 하는지 자연어로 기록하는 것 (프로그래밍에서 내용을 메모하는 목적)

: 소스 코드를 쉽게 이해되도록 하며, 프로그램 실행에 영향을 주지 않음



[Python] 주석 처리 (한 줄)


: ‘#’ 기호를 사용 (‘#’ 뒤의 모든 것은 무시되기 때문에 프로그램에는 아무런 영향이 없음)

# 단순 연산 결과 구하기 Result_1 = 1 + 1

Result_2 = 150 + 150


print(Result_1)

#print(Result_2) # 주석 처리됐으므로 Result_2는 출력되지 않음

2




[Python] 주석 처리 (여러 줄)


: 작은따옴표( ' ) 혹은 큰따옴표( " )를 아래 형태로 사용하면, 여러 줄을 한번에 주석처리 가능





#Reference

1) https://ko.wikipedia.org/wiki/%EC%A3%BC%EC%84%9D_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D)

2) https://www.zentut.com/python-tutorial/python-comments/





[Python] 주석 처리 End

BioinformaticsAndMe

'Python' 카테고리의 다른 글

[Python] 연산자(Operator)  (0) 2019.10.18
[Python] 자료형(Data type)  (0) 2019.10.15
Anaconda 설치  (0) 2019.10.08
Python JSON  (0) 2019.10.02
Python API  (0) 2019.09.30

Anaconda 설치 Start

BioinformaticsAndMe






Anaconda?


: 아나콘다(Anaconda)는 데이터 과학, 빅데이터 처리, 머신러닝 분석 등을 위한 파이썬 및 R의 자유-오픈 소스 배포판

: Conda라는 패키지 관리 시스템으로 관리되며, 윈도우/리눅스/macOS에 적합한 1,400개 이상의 데이터 분석 패키지를 포함 (Numpy, Pandas 등)

: 파이썬 입문자들에게 추천되나, 설치 시간이 오래 걸림

: 아나콘다 설치를 위해선 https://www.anaconda.com/ 에서 본인 OS에 맞는 프로그램을 다운받아 설치






1. Anaconda 다운로드


: 본인의 OS에 맞게 다운 (https://www.anaconda.com/distribution/#download-section)

 해당 설치 과정은 윈도우 10 기준으로 진행함

: 3.x 버전에서 주로 개발과 업데이트가 이루어짐

→ 따라서 지금 파이썬에 입문한다면, 3.x 버전을 설치하는 것이 유리




2. 접근 권한


: 사용자 환경에 따라 권한 설정




3. 설치 경로


: 사용자 환경에 따라 권한 설정




4. 환경 설정


: Add Anaconda to my PATH environment variable

→ 사용자 환경에 따라 권한 설정

: Register Anaconda as my default Python 3.7

→ 아나콘다를 파이썬 3.7로 등록




5. 설치 완료


: Anaconda Prompt 검색된다면 설치 끝




6. 파이썬 실행


: Anaconda Prompt 실행 후, python 입력







#Reference

1) https://ko.wikipedia.org/wiki/%EC%95%84%EB%82%98%EC%BD%98%EB%8B%A4_(%ED%8C%8C%EC%9D%B4%EC%8D%AC_%EB%B0%B0%ED%8F%AC%ED%8C%90)

2) https://namu.wiki/w/Python

3) https://realpython.com/python-windows-machine-learning-setup/

4) https://www.anaconda.com/enterprise/

5) https://www.slideshare.net/continuumio/distributed-computing-on-your-cluster-with-anaconda-webinar-2015




Anaconda 설치 End

BioinformaticsAndMe

'Python' 카테고리의 다른 글

[Python] 자료형(Data type)  (0) 2019.10.15
[Python] 주석 처리  (0) 2019.10.15
Python JSON  (0) 2019.10.02
Python API  (0) 2019.09.30
Variable (Python 변수)  (0) 2019.09.25

Python JSON Start

BioinformaticsAndMe








Python JSON

: JSON(JavaScript Object Notation)

→ "키-값 쌍"으로 이루어진 데이터 오브젝트 전달을 위해, 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷

→ 머신에 의해 쉽게 읽혀지도록 데이터를 구조화하는 형태

→ API 서버에서 데이터가 오고 갈때, JSON 포맷을 사용


: API로 받은 JSON 결과를 살펴보면, 파이썬 딕셔너리/리스트/문자열/정수 자료형의 혼합 형태임을 알 수 있음





Open Notify API 를 통해서, Python JSON 예시를 살펴보자

ISS(International Space Station; 국제우주정거장)에 대한 자료이다


우리가 예제로 사용될 Endpoint는 http://api.open-notify.org/astros.json

*Endpoint(엔드포인트) - 사용자들이 접속하는 웹 서버 등의 서버 시스템

    (보통 API 요청시 도메인 끝에 붙이는 URL, 'astros.json')



1. JSON response in Python

# requests 라이브러리 import requests

# 엔드포인트의 우주비행사 데이터 리턴

response = requests.get("http://api.open-notify.org/astros.json") print(response.status_code)

200   #200은 우리의 request가 성공적이었음을 의미

# API response가 json 포맷임을 확인

print(response.json())

{'people': [{'name': 'Alexey Ovchinin', 'craft': 'ISS'}, {'name': 'Nick Hague', 'craft': 'ISS'}, {'name': 'Christina Koch', 'craft': 'ISS'}, {'name': 'Alexander Skvortsov', 'craft': 'ISS'}, {'name': 'Luca Parmitano', 'craft': 'ISS'}, {'name': 'Andrew Morgan', 'craft': 'ISS'}, {'name': 'Oleg Skripochka', 'craft': 'ISS'}, {'name': 'Jessica Meir', 'craft': 'ISS'}, {'name': 'Hazzaa Ali Almansoori', 'craft': 'ISS'}], 'number': 9, 'message': 'success'}




2. json library

: 파이썬에는 JSON 포맷을 다루기 위한 표준 라이브러리 존재 → json package

: json을 임포트하여, 딕셔너리나 리스트를 JSON 포맷으로 변환할 수 있음

: json 라이브러리는 두 가지 주요한 기능을 가짐

json.dumps() - 파이썬 객체를 받아 문자열로 변환(dump)

json.loads()JSON 문자열을 가져와 파이썬 객체로 변환(load)

# json 라이브러리 ​import json

# Python JSON 객체의 구조화된 형태를 출력하는 definition

def jprint(obj): text = json.dumps(obj, sort_keys=True, indent=4) print(text)

# 데이터 구조를 더 쉽게 이해하도록 출력 (우주에 있는 9명과 각각의 이름)

jprint(response.json())

{ "message": "success", "number": 9, "people": [ { "craft": "ISS", "name": "Alexey Ovchinin" }, { "craft": "ISS", "name": "Nick Hague" }, { "craft": "ISS", "name": "Christina Koch" }, { "craft": "ISS", "name": "Alexander Skvortsov" }, { "craft": "ISS", "name": "Luca Parmitano" }, { "craft": "ISS", "name": "Andrew Morgan" }, { "craft": "ISS", "name": "Oleg Skripochka" }, { "craft": "ISS", "name": "Jessica Meir" }, { "craft": "ISS", "name": "Hazzaa Ali Almansoori" } ] }




3. Using an API with Query Parameters

: API endpoint에서 쿼리 파라미터를 갖는 것은 매우 일반적

파라미터를 딕셔너리로 만든 후, requests.get 함수에 전달 가능

파라미터를 URL에 직접 추가하여, 동일한 작업을 직접 수행 가능

*http://api.open-notify.org/iss-pass.json?lat=40.71&lon=-74.

# lat(latitude;위도), lon(longitude;경도) 파라미터 지정 parameters = { "lat": 40.71, "lon": -74 }

# 파라미터에 지정된 좌표를 사용하여 request

response = requests.get("http://api.open-notify.org/iss-pass.json", params=parameters)

# JSON 포맷으로 response 결과 확인

jprint(response.json())

{ "message": "success", "request": { "altitude": 100, "datetime": 1570007025, "latitude": 40.71, "longitude": -74.0, "passes": 5 }, "response": [ { "duration": 410, "risetime": 1570037505 }, { "duration": 643, "risetime": 1570043152 }, { "duration": 614, "risetime": 1570048982 }, { "duration": 553, "risetime": 1570054871 }, { "duration": 593, "risetime": 1570060715 } ] }





#API 기초 학습을 위해 아래 포스트 참조

https://bioinformaticsandme.tistory.com/135

https://bioinformaticsandme.tistory.com/136





#Reference

1) https://ko.wikipedia.org/wiki/JSON

2) https://blog.naver.com/zzzcc33/221594710730

3) https://realpython.com/python-json/






Python JSON End

BioinformaticsAndMe

'Python' 카테고리의 다른 글

[Python] 주석 처리  (0) 2019.10.15
Anaconda 설치  (0) 2019.10.08
Python API  (0) 2019.09.30
Variable (Python 변수)  (0) 2019.09.25
Python이 성장하는 7가지 이유  (0) 2019.09.17

Python API Start

BioinformaticsAndMe







#API 기초 학습을 위해 아래 포스트 참조

https://bioinformaticsandme.tistory.com/135


Python API

: 파이썬에서 API 작업을 하기 위해, 'requests' 라이브러리 사용




1. Making API Requests in Python

'requests'는 파이썬 표준 라이브러리가 아니므로, 아래 두 가지 경로 중 하나로 설치 필요

#pip 설치 pip install requests

#conda 설치 conda install requests

라이브러리가 설치되면, 'requests'를 import 하기

import requests




2. Making Our First API Request

request에는 다양한 형태가 존재

*GET: 데이터 검색

*POST: 새로운 데이터를 서버에 추가

*PUT: 기존 정보 변경

*DELETE: 기존 정보 삭제


request를 실행할 때, API 서버로부터 response data와 response code를 받음

response code는 우리의 request가 성공적인지 말해줌 (!문제가 있다면 원인을 설명)

'GET’ request를 실행하기 위해, requests.get() function을 사용함

requests.get() function은 사용자가 request를 진행하고 싶은 URL을 입력값으로 사용

http://open-notify.org/ 를 API server 로 두고 연습 진행

#request를 만들고 결과값을 출력 request = requests.get('http://api.open-notify.org') print(request.text)

#response code 확인 (200 : request가 성공적으로 작동) print(request.status_code)

200


request된 URL이 서버에서 발견되지 않는다면 404 에러 출력

request2 = requests.get('http://api.open-notify.org/fake-endpoint') print(request2.status_code)

404




3. API Status Codes

API Status codes는 서버 request 요청에 대한 상태 출력

200 – OK. The request was successful.
   The answer itself depends on the method used (GET, POST, etc.) and the API specification.
204 – No Content.
        The server successfully processed the request and did not return any content.
301 – Moved Permanently.
        The server responds that the requested page (endpoint) has been moved to another address and redirects to this address.
400 – Bad Request.
        The server cannot process the request because the client-side errors (incorrect request format).
401 – Unauthorized.
        Occurs when authentication was failed, due to incorrect credentials or even their absence.
403 – Forbidden.
        Access to the specified resource is denied.
404 – Not Found.
        The requested resource was not found on the server.
500 – Internal Server Error.
        Occurs when an unknown error has occurred on the server.








#Reference

1) https://www.dataquest.io/blog/python-api-tutorial/

2) https://medium.com/quick-code/absolute-beginners-guide-to-slaying-apis-using-python-7b380dc82236

3) https://blog.rapidapi.com/how-to-use-an-api-with-python/

4) https://itnext.io/api-calls-and-http-status-codes-e0240f78f585






Python API End

BioinformaticsAndMe

'Python' 카테고리의 다른 글

Anaconda 설치  (0) 2019.10.08
Python JSON  (0) 2019.10.02
Variable (Python 변수)  (0) 2019.09.25
Python이 성장하는 7가지 이유  (0) 2019.09.17
Python 시작  (0) 2019.09.04

Variable (Python 변수) Start

BioinformaticsAndMe






Variable (변수)

: 파이썬 변수는 값을 저장하는 장소

: 변수는 메모리 주소를 가짐 (변수에 들어가는 값은 메모리 주소에 할당)

: 변수는 이름이나 x, y, z 등과 같은 알파벳으로 선언 가능

: 파이썬는 숫자, 문자열, 리스트, 튜플, 사전 등의 여러 데이터 형태를 변수로 저장





#Example

x 변수에 숫자 5 할당

y 변수에 문자 John 할당

x = 5
y = "John"

변수 x, 변수 y 출력
print(x)
print(y)
5
John





#변수 이름 작성

ㄱ) 알파벳, 숫자, 언더스코어( _ ) 로 선언

money = 0

_b124 = 4

_gsg = 'wffw'


ㄴ) 변수명은 간단하게라도 의미를 가지도록 표기

learning_rate_value = 3


ㄷ) 알파벳 대소문자 구분

ABCD 는 abcd 와 같지 않음


ㄹ) 파이썬 내 기능을 갖는 특수어를 변수로 사용하지 않음

if(조건문), for(반복문)


ㅁ) 숫자로 시작하는 변수는 불가능

1team, 2and1








#Reference

1) https://www.w3schools.com/python/python_variables.asp

2) https://www.guru99.com/variables-in-python.html

3) https://realpython.com/python-variables/






Variable (Python 변수) End

BioinformaticsAndMe

'Python' 카테고리의 다른 글

Anaconda 설치  (0) 2019.10.08
Python JSON  (0) 2019.10.02
Python API  (0) 2019.09.30
Python이 성장하는 7가지 이유  (0) 2019.09.17
Python 시작  (0) 2019.09.04

Python이 성장하는 7가지 이유 Start

BioinformaticsAndMe





최근 파이썬이 급속하게 성장해온 이유를

7가지로 정리해 보았다.

(주관적인 견해이므로 이견이 있을 수 있다)




1. Popular programming language

▶파이썬은 코딩을 처음 배우기 시작하는 사람들에게 공통적으로 추천되는 프로그래밍 언어

▶IEEE 스펙트럼(IEEE Spectrum)은 구글, GitHub, Stack Overflow, Reddit, 구인구직 사이트 등 다양한 소스에서 인기 프로그래밍 언어를 집계

▶2018년도 IEEE 스펙트럼에서 파이썬이 1등을 기록

ㄱ) 파이썬에서도 임베디드 수준의 프로그래밍 지원
ㄴ) 프로그램 R 사용자들이 다수가 파이썬으로 이동




2. Easy language to learn

▶여러 프로그래밍 언어 중에서 파이썬은 낮은 학습 난이도를 가지면서, 범용성을 갖추고 있음

▶파이썬의 문법은 간결하며, 이해하기 쉽도록 직관적인 구조를 가짐

▶'Hello, World'를 출력하는 스크립트를 작성할 때, 자바와 비교해보면 파이썬이 얼마나 사용하기 쉬운 언어인지 알 수 있음




3. Open source program

오픈 소스란 저작권자가 소스 코드를 공개하여 누구나 별다른 제한 없이 자유롭게 사용/복제/배포/수정할 수 있는 소프트웨어

언제, 어디서, 누구든지 무료로 파이썬 사용 가능

▶또한, 여러 온라인 웹에서 무료로 쉽게 파이썬을 배울 수 있음 (참고: 점프 투 파이썬, https://wikidocs.net/book/1)




4. Python in Education 

대학교 프로그래밍 교육은 C, Java 위주의 수업이었으나, 최근 여러 미국 대학들은 프로그래밍 개론 수업 언어를 Python으로 옮겨가는 추세

2019년, 서울대학교가 기초 프로그래밍 수업을 자바에서 파이썬으로 대체

▶파이썬이 배우기 쉽다는 사실은, 곧 전 연령층에 걸쳐 교육하기 쉬운 언어임을 의미




5. Huge Libraries

▶파이썬은 대부분의 라이브러리가 이미 다른 사용자들에 의해서 구현되어 있음

풍부한 라이브러리를 쉽게 설치해 사용할 수 있다는 점은 파이썬의 장점

▶수학, 빅 데이터, 통계학, 그래프, 머신러닝 등 다양한 라이브러리 존재




6. Machine Learning

▶간소함을 특징으로 하는 파이썬은 사용자 비즈니스 로직이 상당한 머신러닝 애플리케이션에 유용하게 작용 뛰어나다.

▶풍부한 머신러닝 라이브러리와 프레임워크 보유 (Scikit-learn, TensorFlow, CNTK, MLlib 등)

▶파이썬은 프로그래머 대신 세부적인 메모리 관리를 수행




7. Community

▶파이썬 공식 홈페이지에 소개된 커뮤니티 정보 (https://www.python.org/community/)

▶국내 활성화된 파이썬 커뮤니티 (https://www.facebook.com/groups/pythonkorea)

▶파이썬 코딩 도장 (https://dojang.io/course/view.php?id=7)









#Reference

1) https://spectrum.ieee.org/at-work/innovation/the-2018-top-programming-languages

2) https://www.zdnet.co.kr/view/?no=20161230153750&re=R_20180713105452

3) https://namu.wiki/w/Python

4) https://wikidocs.net/6

5) https://www.ivy-seed.com/?fbclid=IwAR2H1eYAWy_JyZnPyc5N12efvNocxg2B3WNYnlxtk-0xwQwGyyjtX6HAB9A

6) https://docs.python.org/ko/3/library/index.html

7) http://www.ciokorea.com/news/38148





Python이 성장하는 7가지 이유 End

BioinformaticsAndMe

'Python' 카테고리의 다른 글

Anaconda 설치  (0) 2019.10.08
Python JSON  (0) 2019.10.02
Python API  (0) 2019.09.30
Variable (Python 변수)  (0) 2019.09.25
Python 시작  (0) 2019.09.04

Python 시작 Start

BioinformaticsAndMe








파이썬(python)

▶1991년 프로그래머인 귀도 반 로섬(Guido van Rossum)이 발표한 고급 프로그래밍 언어

▶플랫폼 독립적이며 인터프리터식, 객체지향적, 동적 타이핑 대화형 언어

▶“Monty Python’s Flying Circus” (영국 코미디프로)에서 파이썬 이름이 유래

▶귀도는 구글에 근무했고 현재 DropBox에서 근무 중

Gudi Van Rossum





파이썬 로고(logo)

두 마리의 뱀이 겹쳐 있음





파이썬 Language

플랫폼 독립적 인터프리터 언어


플랫폼 = OS (Operating System)

윈도우, 리눅스, 안드로이드, 맥OS 등 프로그램이 실행되는 운영 체제


독립적인 = 관계없는, 상관없는

OS에 상관없이 프로그램을 작성되면 여러 플랫폼에서 사용 가능


인터프리터

소스코드를 바로 실행할 수 있게 지원하는 프로그램 실행 방법



 

 인터프리터 (Interpreter)

 컴파일러 (Compiler) 

 번역단위

 명령 줄 단위

 프로그램 단위

 작동방식

 소스코드를 실행시점에 해석

 소스코드를  기계어로 먼저 번역

 장점

 기억장소 적게 필요

 빠른 실행속도

 단점

 느린 실행속도

 기억장소 많이 필요

 주요언어

 파이썬, 스칼라

 자바, C




Philosophy of Python

Life is short, You need Python

인생은 짧다, 당신은 파이썬이 필요하다

→아름다운 것이 추한 것보다 낫다 (Beautiful is better than ugly)
→명시적인 것이 암시적인 것보다 낫다 (Explicit is better than implicit)
→간결한 것이 복잡한 것보다 낫다 (Simple is better than complex)





#Reference

1) https://ko.wikipedia.org/wiki/%EA%B7%80%EB%8F%84_%EB%B0%98_%EB%A1%9C%EC%84%AC

2) https://namu.wiki/w/Python

3) https://en.wikipedia.org/wiki/Python_(programming_language)





Python 시작 End

BioinformaticsAndMe

'Python' 카테고리의 다른 글

Anaconda 설치  (0) 2019.10.08
Python JSON  (0) 2019.10.02
Python API  (0) 2019.09.30
Variable (Python 변수)  (0) 2019.09.25
Python이 성장하는 7가지 이유  (0) 2019.09.17

+ Recent posts