목차

  1. 최종 목표
  2. 기본 문법
    1. 입력/출력
    2. 기본 타입과 연산
    3. 그 외 자료형
    4. 조건문 (if)
    5. 반복문 (for)
  3. 연습문제
  4. 마치며

수업의 최종 목표를 정한 다음에 기초문법을 아주 빠르게 훑어보도록 하겠습니다.
자세한 내용은 점푸 투 파이썬을 참고하도록 합시다.

최종 목표

원래는 인스타그램 태그 검색 API를 통해 데이터를 파싱하는게 목표였으나 현재 인스타그램 API를 쓰기 쉽지 않은 상황이므로 네이버 이미지검색 API를 사용하기로 합니다.

1
2
3
4
curl -i -X GET \
-H "X-Naver-Client-Id:네이버 오픈 API 아이디" \
-H "X-Naver-Client-Secret:네이버 오픈 API 비밀키" \
'https://openapi.naver.com/v1/search/image?query=치킨&display=10&sort=sim&start=1'

위 API를 실행하면 아래와 같은 결과가 리턴됩니다.

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
{
"lastBuildDate": "Mon, 01 Jul 2019 18:49:37 +0900",
"total": 755639,
"start": 1,
"display": 10,
"items": [{
"title": "BHC치킨 송정역점",
"link": "http://ldb.phinf.naver.net/20171211_237/1512973532440z1E5V_JPEG/9vzoOYbXljNrKeKVKn8FtOnB.jpg",
"thumbnail": "https://search.pstatic.net/common/?src=http://ldb.phinf.naver.net/20171211_237/1512973532440z1E5V_JPEG/9vzoOYbXljNrKeKVKn8FtOnB.jpg&type=b150",
"sizeheight": "400",
"sizewidth": "540"

},
{
"title": "60계 치킨 마곡점",
"link": "http://ldb.phinf.naver.net/20181016_21/1539669397893cVhPD_JPEG/plCjKmkVzK4jgT-l8MTL_v3Q.jpg",
"thumbnail": "https://search.pstatic.net/common/?src=http://ldb.phinf.naver.net/20181016_21/1539669397893cVhPD_JPEG/plCjKmkVzK4jgT-l8MTL_v3Q.jpg&type=b150",
"sizeheight": "854",
"sizewidth": "1280"

},
{
"title": "치킨파티 천북점",
"link": "http://ldb.phinf.naver.net/20161028_110/1477631570926FTKBN_PNG/065904c7-a4b5-44af-bc5d-2a8b9d7b732c.png",
"thumbnail": "https://search.pstatic.net/common/?src=http://ldb.phinf.naver.net/20161028_110/1477631570926FTKBN_PNG/065904c7-a4b5-44af-bc5d-2a8b9d7b732c.png&type=b150",
"sizeheight": "900",
"sizewidth": "1200"

}
]
}

이것을 자유자재로 파싱해보도록 하겠습니다. 이것이 궁극적인 목표입니다.

JSON 초간단 요약
{} == key-value
[] == 리스트

기본 문법

입력/출력

1
2
3
4
5
6
# 샵 뒤에 쓰는 글은 주석입니다
print('헬로우월드')

# input()은 콘솔 입력을 받는다
a = input()
print(a)

기본 타입과 연산

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 숫자
a = 1
b = 2
print(a + b)

# 문자열
a = "hello"
b = "world"
print(a + " " + b)

print(a[2]) # 글자 한개 접근

length = len(a + b) # 문자열 길이
print(length)

# boolean
a = True
print(a)

그 외 자료형

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
# 리스트
a = [1, 2, 3, ['a', 'b', 'c']]
print(a[1])
print(a[-1])

a[1] = 99 # 값 바꾸기
print(a[1])

a.append(4) # 맨 뒤에 값 추가
a.sort() # 오름차순 정렬
a.reverse() # 순서 뒤집기

# 튜플
t = ('a', 'b', ('ab', 'cd'))
print(t[1])
print(t[-1])
t[1] = 99
print(t[1])

# 딕셔너리
dic = {'name':'mingus', 'location':'pangyo'}
print(dic['name'])
dic['name'] = 'nicole'
print(dic['name'])
print(dic)

조건문 (if)

1
2
3
4
5
money = True
if money:
print("택시를 타고 가라")
else:
print("걸어 가라")

반복문 (for)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# range
for x in range(2,10):
print(x)

for x in range(10,1,-1):
print(x)

# 리스트
test_list = ['one', 'two', 'three']
for i in test_list:
print(i)

# 튜플
a = [(1,2), (3,4), (5,6)]
for (first, last) in a:
print(first + last)

# 한줄 표현식
a = [1,2,3,4]
result = [num * 3 for num in a]
print(result)

연습문제

  • ‘Hello World’를 출력하기
  • 두 수를 입력 받아 큰 수를 출력하기
  • 구구단 2단을 출력하기
  • 구구단 2단의 답만 list 자료형에 넣기
  • 구구단 짝수단만 출력하기 / list의 list로 넣기
  • 반복문을 여러개 이용하여 아래처럼 * 피라미드를 만드시오

    • 1번 문제

      1
      2
      3
      4
      *
      * *
      * * *
      * * * *
    • 2번 문제

      1
      2
      3
      4
               *
      * *
      * * *
      * * * *
    • 3번 문제

      1
      2
      3
      4
      * * * *
      * * *
      * *
      *
    • 4번 문제

      1
      2
      3
      4
      * * * *
      * * *
      * *
      *
  • ‘Hello World’를 거꾸로 출력하기 → ‘dlroW olleH’

  • Let It Go 노래 가사에 ‘g’가 몇 번 들어있는지 세기
  • 총 학생의 시험 점수가 아래와 같을때 60점이 넘으면 “PASS”, 아니면 “FAIL”을 학생의 이름과 함께 표시하시오.
    1
    2
    3
    4
    5
    6
    7
    scores = [
    {'name':'mingus', 'score':100},
    {'name':'nicole', 'score':90},
    {'name':'sia', 'score':25},
    {'name':'irene', 'score':45},
    {'name':'maia', 'score':80}
    ]
    아래처럼 나오게 하면 성공
    1
    2
    3
    4
    5
    mingus "PASS"
    nicole "PASS"
    sia "FAIL"
    irene "FAIL"
    maia "PASS"

마치며

여러분은 기초 문법을 마스터 하셨습니다.