58. 변수 (Variable)
● x = 1 + 2
o 수학
x는 1 + 2의 값인 3이다.
o 프로그래밍
1 + 2의 값인 3을 x라는 변수에 할당한다.
x라는 변수에는 숫자 형태의 데이터 3 이라는 값을 가리키고
있는 주소를 가지고 있다.
● 변수
o 특정 데이터를 담는 그릇
o 특정 데이터는 특정 장소에 저장되고, 변수는 그 장소의 주소값
을 가지고 있다.
59. 연산
● 산술 연산
o 연산자(Operator)
+
-
*
/
● 비교 연산
o <
o <=
o >
o >=
o ==
o !=
● 논리 연산
o or
o and
o not
61. if 조건문
if condition1:
condition1이 참(true)일 때
elif condition2:
condition1이 거짓(false)이고, condition2가 참일 때
elif conditionN:
….
else:
앞의 조건이 모두 거짓일 때
62. for 반복문
for item in items:
실행문1
실행문2
● items 중에서(in)에서 하나의 item에 대해 아래 실행문 실행하는데 실행문이
끝나면 다음 item에 대해 실행한다.
● 즉, items 의 값을 하나씩 꺼내 item 에 assign 하며 모든 item 에 대해 반복
● continue
o 이번 수행을 하지 않고 다음으로 이동한다.
● break
o loop를 빠져나간다.
63. while 반복문
while condition:
실행문1
실행문2
.
● condition이 참인 동안(while) 아래 실행문을 계속 실행한다.
● 즉, 참이 아닌 경우에는 아래 실행문을 실행하지 않고 빠져 나온다.
ex) while len(name) < 1:
name = raw_input(“Please enter your name: ”)
64. 다른 언어에는 없는 것
while condition:
실행문
1
실행문
2
.
for item in items:
실행문2
실행문2
.
if condition1:
실행문1
elif condition2:
실행문2
else:
실행문3
1. 처음과 끝(블락/block)이 없다.
a. { (블락의 첫 중괄호) -> : (콜론)을 사용
b. 블락 -> 처음과 끝의 표시를 들여쓰기(Indentation)으로 표현
i. Indentation이 틀리면 Error
ii. 보통은 스페이스바 4칸
68. 순서열 - str
1. 양의 정수로 색인되는 순서있는 객체들의 모음
2. 모든 순서열에 적용되는 공통 연산이나 함수 존재
Name Example Note
upper / lower “hi”.upper() / “HI”.lower()
count “apple”.count(“p”)
find / rfind / index “Well done”.find(“d”) / “Well done”.index(“d”) 어떤 차이가 있을까요?
join "-".join(“1234”)
strip / lstrip / rstrip “ eh? “.strip()
replace “pithon”.replace(“i”, “y”)
split / rsplit “Life is beautiful”.split()
69. list & tuple
list tuple
people = [”Justin”, u“수지”, u“허지웅”] people = (”Justin”, u“수지”, u“허지웅”)
수정/추가/삭제 가능 수정/추가/삭제 불가능
list 안의 list 가능 (nested-list) tuple 안의 tuple 가능 (nested-tuple)
index & slice
70. list & tuple
함수
Name Example Note
append [1, 2, 3].append(4)
sort [‘bravo’, ‘alpha’, ‘charlie’].sort()
reverse [1,2,3].reverse()
index [‘smart’, ‘phone’].index(‘smart’) index 값 알아내내기
insert [1,2,3].insert(0, 100)
remove [1,2,3].remove(3)
pop [1,2,3].pop(1) index에 대한 값 출력 후 제거
71. 사전형
d = {‘name’:’kevin’, ‘final’:84, ‘report’:90}
Name Example Note
keys d.keys() [‘name’, ‘final’, ‘report’]
values d.values() [‘kevin’, 84, 90]
items d.items() [(‘name’, ‘kevin’), (‘final’, 84), (‘report’, 90)]
clear d.clear() 모든 항목을 제거
get d.get(‘name’) ‘kevin’
in ‘name’ in d key가 있는 존재하는지 검사 (반환: T/F)
update d.update({‘mid’:99}) update or insert
72. Index -> str, list, tuple
1. 문자 선택하기
2. 문자들에 0부터 시작하는 번호를 부여
3. 순서열을 가진 변수에 []로 문자 선택이 가능
4. 실습
a. a = “apple from the sky”
b. a[0]
c. a[1]
d. a[-1]
73. Slice -> str, list, tuple
1. 문자 추출하기
2. 부여된 번호로 문자열 일부 또는 전체를 추출
3. 문자값을 가진 변수에에 [시작위치:종료위치]로 문자 선택 가능
4. 시작위치와 종료위치치는 생략가능
a. 생략 시 각각 처음과, 마지막을 의미
5. 실습
a. a = ‘apple from the sky’
b. a[0:5]
c. a[6:]
d. a[:5]
75. Instagram
#hashtag
title=”On top of the world! Life is so fantastic if
you just let it. I have never been happier.
#nyc #newyork #vacation #traveling”
DB에서 사진과 내용을 가져오는 방법은 아직 모르
니 생각하지 말고, 지금껏 위에서 언급했던 내용을
토대로
위 사진 title 에서 hashtag(#로 시작하는 단어)를
가져와 List 형태로 저장해봅시다.
78. Completely free enterprise-ready Python distribution for
large-scale data processing, predictive analytics, and
scientific computing
270+ of the most popular Python packages for science, math,
engineering, data analysis
80. IPython
1. 대화형 컴퓨팅을 분석 프로그래밍 최적합
2. 운영체제의 쉘 파일 시스템과 통합되어 있음
3. 웹 기반의 대화형 노트북 지원으로 수식, 표,
그림 등 표현 가능
4. 가볍고 빠른 병렬 컴퓨팅 엔진 이용
5. 코딩의 문서화, 테스트까지 한 화면에 r나으
83. Feel free to contact me
정광윤
1. email: initialkommit at gmail.com
2. blog: http://initialkommit.github.io/
3. twitter: @initialkommit
Editor's Notes
코딩 혹은 프로그래밍은 세계적인 추세입니다. 왜 그럴까요.
미국 대통령도 code.org에서 프로그래밍 교육을 받았다고 합니다. 그렇다면 우리나라는 어떨까요?
우리나라도 역시 의무교육화 시키고 있습니다. 그런데 여기서 중요한 것은 코딩 기술이 아니라 '사고(Think process)’라는 것이지요.
왜냐면 스티브 잡스가 말했듯이 코딩/프로그래밍이라는 것은 생각하는 방법을 가르쳐주기 때문입니다.
그렇기 때문에 프로그래밍이라는 것을 대개는 수학 능력만 생각하기 쉽지만 언어적 사고 혹은 논리적 사고가 우선되어야만 합니다.
그래서 MIT에서는 교육용 프로그래밍 언어인 '스크래치'를 만들어서 Children 대상으로 프로그래밍을 가르쳐 주고 있습니다. 여기서 중요한 것은 어려운 코딩 문법은 하나도 없다는 것입니다. 그냥 블락 몇개만 쌓아올리면 끝납니다. 단!! 사고의 흐름이 중요한 것이지요.
이렇게요. Hungry fish가 Gold fish를 먹는 게임을 만드는데 필요한 건 블락과 사고의 흐름 뿐입니다.
이렇게 프로그래밍이라는 것은 어떤 작업을 수행하기 위해 컴퓨터에게 지시하는 방법입니다.
그리고 그렇게 만들어진 소프트웨어는 사람을 돕습니다.
무엇이되든 여러분들은 프로그래밍을 배워야합니다.
사고하는 방법을 훈련할 수 있기 때문이지요. 그런데 우리 성인들은 이미 마이크로소프트와 인터넷, 최근에는 수많은 SNS에 노출되어 있어서 그런 IT 서비스에 거절감은 없는 것 같습니다. 이미 컴퓨팅적 사고가 어느적도 학습되어 있다고 판단됩니다. 그렇다면 이제는 사고를 표현하는 방법을 배워야 합니다. 오늘은 바로 사고를 표현하기 위해 특정 언어를 배울건데요. 그 언어는 바로 Python이라는 것입니다.
여러분들이 만약 초콜렛을 판매하는 회사의 직원이라고 하면 어떤 곳에 광고를 해야할까요? 이런 분석을 통해서 '오늘의 유머'게시판에 광고를 하면 더 효과가 좋겠구나~ 라고 생각할 수 있습니다.