SlideShare una empresa de Scribd logo
1 de 29
Play with Python!!!!
Introduction
http://blog.codeeval.com/codeeval
blog/2015#.VNz_pWTF8wg= …
#datascience #bigdata
어떤 연예인을 좋아하세요?
모든 인기 있는 연예인이 그렇듯이
프로그래밍 언어들은 각자의 개성이 있습니다.
차별하지 마시고 잘 살펴보았다가
필요할 때 사용하는 습관을 가지세요.
이왕이면 쉽게 사용할 수 있고,
이왕이면 빨리 결과가 나오고,
이왕이면 다양한 곳에 사용되고,
이왕이면 남들도 많이 쓰는…
조금만 더 생각해 볼까요?
• 프로그래밍을 잘한다는 것은 무엇일까?
• 코딩을 잘하는 것과 프로그래밍을 잘하는
것은 같은 것인가?
• 도대체 프로그래밍이라는 것은 무엇인가?
코딩을 잘 못하는 사람들의 특징
• 무작정 코드를 먼저 작성하기 시작한다.
• 에러가 나면 모든 두뇌활동이 갑자기 정지
• 인터넷을 우선적으로 뒤져보는 프로구해
머
• 오빠 코딩! 선생님 코딩!
프로그래머라는 직업
• Pro: 미리
• Gram: draw, paint,
• er: ~ 하는 사람
• 필요한게 무엇인지를 미리 생각하고, 그려
보는 사람들
• 프로그래밍 언어가 없었던 시절에는 프로
그래머는 존재했을까?
What will you learn?
• 프로그램을 작성하는 것은 특별한 스킬이
아니다.
• 패러다임이 시작을 결정한다.
• 절차형, 함수형, 객체 지향 패러다임
• 간단한 데이터베이스와
HTML,CSS,JavaScript
• Python을 이용해서 모아진 데이터를 분석
하기
흔한 천조국의 면접 시험문제
프로그래밍의 단계
만들어야 하는 목
표는 무엇인가?
필요한 데이터는?
필요한 로직은?
만든 후에는?
이런 것도 프로그래밍
• 학교에 있는 영화관은 표의 가격이 5.0 달러
일 때 관객이 120명 들어온다.
• 표의 가격은 0.10 달러씩 낮출 경우 15명씩
증가한다.
• 그러나 관객의 증가는 비용을 발생하게 되어,
영화를 한번 상영할 때마다 180달러의 비용
이 기본적으로 들어가고, 관객 1명당 0.04달
러의 추가비용이 소요된다.
• 극장주는 최대의 이윤이 나는 가격을 알고 싶
어 한다.
흠..이건 어때요?
• 컴퓨터와 사용자는 임의의 숫자를 이용해
서 가위바위보를 하게됩니다.
• 3번이상 연속으로 한 쪽이 이기면 프로그
램이 종료되도록 작성해 주세요.
About Python
Python Language?
Python language features
High-level Language
Portable
Interpreted
Object Oriented
Embeddable
Dynamic-typed
Interactive
Functional
History of Python
May the IDE with you!
• Eclipse with PyDev
• PyCharm
• IDLE
• etc
Python vs C/C++/Java
• loose typed
• { }
• scope
• functional/ Object oriented
데이터라는 것에 대해서 생각해 봅시다.
• 우리는 데이터를 왜 쓰는 걸까요?
• 데이터가 많아질수록 많은 메모리를 사용하
는 문제점이 생길 수 있습니다.
• 그래서 사람들은 포인터나 레퍼런스를 사용
할까요?
• 사용하던 메모리를 처리하려면 어떻게 만들
어야 할까요?
Data Structure in Python
• Check Your knowledge about Array
• Python variables use Reference
• Scopes are not same as C or Java!
• List, Tuple, Dictionary, Set, Nested list
배열을 잊고, list로
• ‘[ ]’
• use index number
• len( ): size of list
• using as Stack
• using as Queue
• range(1,100,2)
커피가게를 위하여
커피숍을 운영하는 A는 항상 계산기를 이용해서 그날의 매
출을 정리한다.
A는 프로그램을 이용해서 계속해서 발생한 매출이나 지출
데이터를 입력하고 싶다.
매 금액의 입력 후에 현재까지의 금액이 화면이 출력되는 계
산기 프로그램을 작성하라.
떨어지지 않는 불변의 데이터-튜플
• ‘( )’를 이용하는 데이터의 묶음
• immutable
• data = lat, lng = 34, 127
{key,value} Dictionary
• ‘키’와 ‘값’으로 규정된 데이터
• 다양한 자료와 같이 처리되는 용도
• 현실적으로 객체의 의미
빈도분석법
문자열의 rjust( ), center( ), ljust( )를 이용해서 출력
영수증을 발행하기
• 매장에서 손님들이 주문한 내역을 화면에
영수증의 형태로 출력하는 프로그램을 만
들어야 한다면?

Más contenido relacionado

La actualidad más candente

대마고에서 살아남기
대마고에서 살아남기대마고에서 살아남기
대마고에서 살아남기KyleSeongwooJun
 
앤젤핵 해커톤 우승한 썰
앤젤핵 해커톤 우승한 썰앤젤핵 해커톤 우승한 썰
앤젤핵 해커톤 우승한 썰Herren
 
소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXT소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXTMinsuk Lee
 
SW교육과 컴퓨팅 사고력 신장하기
SW교육과 컴퓨팅 사고력 신장하기SW교육과 컴퓨팅 사고력 신장하기
SW교육과 컴퓨팅 사고력 신장하기웅용 박
 
Fast campus 안드로이드 앱 개발 프로젝트 CAMP (Fastground)
Fast campus 안드로이드 앱 개발 프로젝트 CAMP (Fastground)Fast campus 안드로이드 앱 개발 프로젝트 CAMP (Fastground)
Fast campus 안드로이드 앱 개발 프로젝트 CAMP (Fastground)동욱 하
 

La actualidad más candente (6)

대마고에서 살아남기
대마고에서 살아남기대마고에서 살아남기
대마고에서 살아남기
 
Technicalinterview
TechnicalinterviewTechnicalinterview
Technicalinterview
 
앤젤핵 해커톤 우승한 썰
앤젤핵 해커톤 우승한 썰앤젤핵 해커톤 우승한 썰
앤젤핵 해커톤 우승한 썰
 
소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXT소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXT
 
SW교육과 컴퓨팅 사고력 신장하기
SW교육과 컴퓨팅 사고력 신장하기SW교육과 컴퓨팅 사고력 신장하기
SW교육과 컴퓨팅 사고력 신장하기
 
Fast campus 안드로이드 앱 개발 프로젝트 CAMP (Fastground)
Fast campus 안드로이드 앱 개발 프로젝트 CAMP (Fastground)Fast campus 안드로이드 앱 개발 프로젝트 CAMP (Fastground)
Fast campus 안드로이드 앱 개발 프로젝트 CAMP (Fastground)
 

Similar a OSS개발자포럼(2017.01) 파이썬 소개자료

백엔드 개발자로 1인분하기
백엔드 개발자로 1인분하기백엔드 개발자로 1인분하기
백엔드 개발자로 1인분하기민건 주
 
Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기Eunchong Yu
 
[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법MinGeun Park
 
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기Minho Lee
 
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템Young Soo Kim
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님NAVER D2
 
My Way, Your Way
My Way, Your WayMy Way, Your Way
My Way, Your WayChris Ohk
 
OSS개발자 포럼 캠프
OSS개발자 포럼 캠프OSS개발자 포럼 캠프
OSS개발자 포럼 캠프Hakbeom Hwang
 
PyCon2020 NLP beginner's BERT challenge
PyCon2020 NLP beginner's BERT challengePyCon2020 NLP beginner's BERT challenge
PyCon2020 NLP beginner's BERT challengeYoongi Kim
 
3주차 language
3주차 language3주차 language
3주차 language준혁 이
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)Jaewon Choi
 
신입 엔지니어 취준 꿀팁
신입 엔지니어 취준 꿀팁신입 엔지니어 취준 꿀팁
신입 엔지니어 취준 꿀팁Yoonmi Roh
 
격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it goChris Ohk
 
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어Bizmerce Corp
 
파이썬과 커뮤니티와 한국어 오픈데이터
파이썬과 커뮤니티와 한국어 오픈데이터파이썬과 커뮤니티와 한국어 오픈데이터
파이썬과 커뮤니티와 한국어 오픈데이터Eunjeong (Lucy) Park
 
(독서광) 클린코드 이제는 파이썬이다
(독서광) 클린코드 이제는 파이썬이다(독서광) 클린코드 이제는 파이썬이다
(독서광) 클린코드 이제는 파이썬이다Jay Park
 
클로져 소개 강의 (한국정보통신산업노동조합)
클로져 소개 강의 (한국정보통신산업노동조합)클로져 소개 강의 (한국정보통신산업노동조합)
클로져 소개 강의 (한국정보통신산업노동조합)Sang-Kyu Park
 
토이 프로젝트를 하자.Pptx
토이 프로젝트를 하자.Pptx토이 프로젝트를 하자.Pptx
토이 프로젝트를 하자.PptxMyeongin Woo
 
임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011devCAT Studio, NEXON
 
Better softwareengineer han
Better softwareengineer hanBetter softwareengineer han
Better softwareengineer hanDaeMyung Kang
 

Similar a OSS개발자포럼(2017.01) 파이썬 소개자료 (20)

백엔드 개발자로 1인분하기
백엔드 개발자로 1인분하기백엔드 개발자로 1인분하기
백엔드 개발자로 1인분하기
 
Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기Slack과 Rust로 Amazon ECS에서 서비스 배포하기
Slack과 Rust로 Amazon ECS에서 서비스 배포하기
 
[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법
 
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
 
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
[IGC2017] Protocol:hyperspace Diver 개발 포스트모템
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
 
My Way, Your Way
My Way, Your WayMy Way, Your Way
My Way, Your Way
 
OSS개발자 포럼 캠프
OSS개발자 포럼 캠프OSS개발자 포럼 캠프
OSS개발자 포럼 캠프
 
PyCon2020 NLP beginner's BERT challenge
PyCon2020 NLP beginner's BERT challengePyCon2020 NLP beginner's BERT challenge
PyCon2020 NLP beginner's BERT challenge
 
3주차 language
3주차 language3주차 language
3주차 language
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
 
신입 엔지니어 취준 꿀팁
신입 엔지니어 취준 꿀팁신입 엔지니어 취준 꿀팁
신입 엔지니어 취준 꿀팁
 
격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go
 
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어
 
파이썬과 커뮤니티와 한국어 오픈데이터
파이썬과 커뮤니티와 한국어 오픈데이터파이썬과 커뮤니티와 한국어 오픈데이터
파이썬과 커뮤니티와 한국어 오픈데이터
 
(독서광) 클린코드 이제는 파이썬이다
(독서광) 클린코드 이제는 파이썬이다(독서광) 클린코드 이제는 파이썬이다
(독서광) 클린코드 이제는 파이썬이다
 
클로져 소개 강의 (한국정보통신산업노동조합)
클로져 소개 강의 (한국정보통신산업노동조합)클로져 소개 강의 (한국정보통신산업노동조합)
클로져 소개 강의 (한국정보통신산업노동조합)
 
토이 프로젝트를 하자.Pptx
토이 프로젝트를 하자.Pptx토이 프로젝트를 하자.Pptx
토이 프로젝트를 하자.Pptx
 
임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011
 
Better softwareengineer han
Better softwareengineer hanBetter softwareengineer han
Better softwareengineer han
 

OSS개발자포럼(2017.01) 파이썬 소개자료

  • 4. 어떤 연예인을 좋아하세요? 모든 인기 있는 연예인이 그렇듯이 프로그래밍 언어들은 각자의 개성이 있습니다. 차별하지 마시고 잘 살펴보았다가 필요할 때 사용하는 습관을 가지세요.
  • 5.
  • 6. 이왕이면 쉽게 사용할 수 있고, 이왕이면 빨리 결과가 나오고, 이왕이면 다양한 곳에 사용되고, 이왕이면 남들도 많이 쓰는…
  • 7. 조금만 더 생각해 볼까요? • 프로그래밍을 잘한다는 것은 무엇일까? • 코딩을 잘하는 것과 프로그래밍을 잘하는 것은 같은 것인가? • 도대체 프로그래밍이라는 것은 무엇인가?
  • 8. 코딩을 잘 못하는 사람들의 특징 • 무작정 코드를 먼저 작성하기 시작한다. • 에러가 나면 모든 두뇌활동이 갑자기 정지 • 인터넷을 우선적으로 뒤져보는 프로구해 머 • 오빠 코딩! 선생님 코딩!
  • 9. 프로그래머라는 직업 • Pro: 미리 • Gram: draw, paint, • er: ~ 하는 사람 • 필요한게 무엇인지를 미리 생각하고, 그려 보는 사람들 • 프로그래밍 언어가 없었던 시절에는 프로 그래머는 존재했을까?
  • 10. What will you learn? • 프로그램을 작성하는 것은 특별한 스킬이 아니다. • 패러다임이 시작을 결정한다. • 절차형, 함수형, 객체 지향 패러다임 • 간단한 데이터베이스와 HTML,CSS,JavaScript • Python을 이용해서 모아진 데이터를 분석 하기
  • 12. 프로그래밍의 단계 만들어야 하는 목 표는 무엇인가? 필요한 데이터는? 필요한 로직은? 만든 후에는?
  • 13. 이런 것도 프로그래밍 • 학교에 있는 영화관은 표의 가격이 5.0 달러 일 때 관객이 120명 들어온다. • 표의 가격은 0.10 달러씩 낮출 경우 15명씩 증가한다. • 그러나 관객의 증가는 비용을 발생하게 되어, 영화를 한번 상영할 때마다 180달러의 비용 이 기본적으로 들어가고, 관객 1명당 0.04달 러의 추가비용이 소요된다. • 극장주는 최대의 이윤이 나는 가격을 알고 싶 어 한다.
  • 14. 흠..이건 어때요? • 컴퓨터와 사용자는 임의의 숫자를 이용해 서 가위바위보를 하게됩니다. • 3번이상 연속으로 한 쪽이 이기면 프로그 램이 종료되도록 작성해 주세요.
  • 17. Python language features High-level Language Portable Interpreted Object Oriented Embeddable Dynamic-typed Interactive Functional
  • 19. May the IDE with you! • Eclipse with PyDev • PyCharm • IDLE • etc
  • 20. Python vs C/C++/Java • loose typed • { } • scope • functional/ Object oriented
  • 21. 데이터라는 것에 대해서 생각해 봅시다. • 우리는 데이터를 왜 쓰는 걸까요? • 데이터가 많아질수록 많은 메모리를 사용하 는 문제점이 생길 수 있습니다. • 그래서 사람들은 포인터나 레퍼런스를 사용 할까요? • 사용하던 메모리를 처리하려면 어떻게 만들 어야 할까요?
  • 22. Data Structure in Python • Check Your knowledge about Array • Python variables use Reference • Scopes are not same as C or Java! • List, Tuple, Dictionary, Set, Nested list
  • 23. 배열을 잊고, list로 • ‘[ ]’ • use index number • len( ): size of list • using as Stack • using as Queue • range(1,100,2)
  • 24.
  • 25. 커피가게를 위하여 커피숍을 운영하는 A는 항상 계산기를 이용해서 그날의 매 출을 정리한다. A는 프로그램을 이용해서 계속해서 발생한 매출이나 지출 데이터를 입력하고 싶다. 매 금액의 입력 후에 현재까지의 금액이 화면이 출력되는 계 산기 프로그램을 작성하라.
  • 26. 떨어지지 않는 불변의 데이터-튜플 • ‘( )’를 이용하는 데이터의 묶음 • immutable • data = lat, lng = 34, 127
  • 27. {key,value} Dictionary • ‘키’와 ‘값’으로 규정된 데이터 • 다양한 자료와 같이 처리되는 용도 • 현실적으로 객체의 의미
  • 28. 빈도분석법 문자열의 rjust( ), center( ), ljust( )를 이용해서 출력
  • 29. 영수증을 발행하기 • 매장에서 손님들이 주문한 내역을 화면에 영수증의 형태로 출력하는 프로그램을 만 들어야 한다면?