티스토리 뷰

#기초 

1. API란?

- Application Programming Inteface => 응용 프로그래밍 인터페이스

- 응용프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 

- Open API 대부분 JSON을 활용하여 데이터를 주고 받음 

 

1.1. JSON(JavaScript Object Notation)

- 경량의 Data 교환 형식

- JSON 표현식은 사람과 기계 모두 이해하기 쉬우며, 용량이 작아, 최근에는 JSON이 XML을 대체해서 데이터 전송등에 많이 사용

- 특정 언어에 종속되지 않으며, 대부분의 프로그래밍언어에서 JSON포맷의 데이터를 핸들링할 수 있는 라이브러리 제공

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

- 본래는 자바스크립트 언어로부터 파생되어 자바스크립트의 구문 형식을 따르지만 언어 독립형 데이터 포맷

 

example of JSON 

특징

1. JSON은 name-value 형태의 쌍으로 이루어짐

2. name인 경우 무조건 큰 따옴표로 묶어주기 

3. {} : JSON 문법 시작

4. [] : 배열 의미

5. 객체는 반드시 name-value 의 쌍 

 

1.2 JSON

- JSON인코딩 - Python 타입의 object를 JSON 문자열로 변경할 수 있음

- JSON 디코딩 - JSON 문자열을 다시 Python 타입으로 변환할 수 있다.

 

1.2.1. JSON 인코딩 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import json
 
# 테스트용 Python Dictionary
customer = {
    'id'152352,
    'name''강진수',
    'history': [
        {'date''2015-03-11''item''iPhone'},
        {'date''2016-02-23''item''Monitor'},
    ]
}
 
# JSON 인코딩
jsonString = json.dumps(customer)
 
# 문자열 출력
print(jsonString)
print(type(jsonString))  # class str
 
 
>>{"id"152352"name""\uac15\uc9c4\uc218""history": [{"date""2015-03-11""item""iPhone"}, {"date""2016-02-23""item""Monitor"}]}
>><class 'str'>
cs

 

1.2.2. JSON 인코딩 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import json
 
# 테스트용 JSON 문자열
jsonString = '{"name": "강진수", "id": 152352, "history": [{"date": "2015-03-11", "item": "iPhone"}, {"date": "2016-02-23", "item": "Monitor"}]}'
 
# JSON 디코딩
dict = json.loads(jsonString)
 
# Dictionary 데이타 체크
print(dict['name']) #강진수
for h in dict['history']: 
    print(h['date'], h['item'])
    #2015-03-11 iPhone
    #2016-02-23 Monitor
cs

 

2. Flask란? 

- Python으로 구동되는 웹 어플리케이션 프레임워크 

- Django 프레임워크보다 가볍고, 스케일이 작은 서버부터 큰 서버를 만들 수 있음 

 

[1] Flask 기본 예제  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from flask import Flask
 
 
app = Flask(__name__)
 
@app.route('/')
def index():
    return "Hello Flask"
 
@app.route('/info')
def info():
    return "Info"
 
 
if __name__ == "__main__":
    app.run(host = '0.0.0.0', port = 5000, debug = True)
cs

 

http://localhost:5000/

 

 

http://localhost:5000/info

 

[2] ArgumentParser 사용하여 Port 접속하기 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from flask import Flask
from argparse import ArgumentParser
 
app = Flask(__name__)
 
@app.route('/')
def index():
    return "Hello Flask"
 
@app.route('/info')
def info():
    return "Info"
 
 
if __name__ == "__main__":
    parser = ArgumentParser()
    parser.add_argument('-p''--port', default=5000, type=int, help='port to listen on')
    args = parser.parse_args()
    port = args.port
 
    app.run(host='0.0.0.0', port=port)
 
 
 
cs

 

http://localhost:5000/

접속하여 똑같이 실행할 수 있다. 

 

 

<출처>

1. Flask 예제 

2. 위키백과 - JSON 

3. 예제로 배우는 파이썬 프로그래밍 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함