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

29
Play with Python!!!!

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

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

Play with Python!!!!

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

Introduction

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

어떤 연예인을 좋아하세요 ?

모든 인기 있는 연예인이 그렇듯이 프로그래밍 언어들은 각자의 개성이 있습니다 .

차별하지 마시고 잘 살펴보았다가 필요할 때 사용하는 습관을 가지세요 .

Page 5: OSS개발자포럼(2017.01) 파이썬 소개자료
Page 6: OSS개발자포럼(2017.01) 파이썬 소개자료

이왕이면 쉽게 사용할 수 있고 ,

이왕이면 빨리 결과가 나오고 ,

이왕이면 다양한 곳에 사용되고 ,

이왕이면 남들도 많이 쓰는…

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

조금만 더 생각해 볼까요 ?• 프로그래밍을 잘한다는 것은 무엇일까 ?

• 코딩을 잘하는 것과 프로그래밍을 잘하는 것은 같은 것인가 ?

• 도대체 프로그래밍이라는 것은 무엇인가 ?

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

코딩을 잘 못하는 사람들의 특징• 무작정 코드를 먼저 작성하기 시작한다 . • 에러가 나면 모든 두뇌활동이 갑자기 정지 • 인터넷을 우선적으로 뒤져보는 프로구해머 • 오빠 코딩 ! 선생님 코딩 !

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

프로그래머라는 직업• Pro: 미리 • Gram: draw, paint, • er: ~ 하는 사람• 필요한게 무엇인지를 미리 생각하고 , 그려보는 사람들• 프로그래밍 언어가 없었던 시절에는 프로그래머는 존재했을까 ?

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

What will you learn?• 프로그램을 작성하는 것은 특별한 스킬이 아니다 . • 패러다임이 시작을 결정한다 . • 절차형 , 함수형 , 객체 지향 패러다임• 간단한 데이터베이스와

HTML,CSS,JavaScript • Python 을 이용해서 모아진 데이터를 분석하기

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

흔한 천조국의 면접 시험문제

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

프로그래밍의 단계 만들어야 하는 목표는 무엇인가 ?

필요한 데이터는 ?

필요한 로직은 ?

만든 후에는 ?

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

이런 것도 프로그래밍• 학교에 있는 영화관은 표의 가격이 5.0 달러일 때 관객이 120 명 들어온다 . • 표의 가격은 0.10 달러씩 낮출 경우 15 명씩 증가한다 . • 그러나 관객의 증가는 비용을 발생하게 되어 , 영화를 한번 상영할 때마다 180 달러의 비용이 기본적으로 들어가고 , 관객 1 명당 0.04 달러의 추가비용이 소요된다 . • 극장주는 최대의 이윤이 나는 가격을 알고 싶어 한다 .

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

흠 .. 이건 어때요 ?• 컴퓨터와 사용자는 임의의 숫자를 이용해서 가위바위보를 하게됩니다 . • 3 번이상 연속으로 한 쪽이 이기면 프로그램이 종료되도록 작성해 주세요 .

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

About Python

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

Python Language?

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

Python language featuresHigh-level Language

Portable

Interpreted

Object Oriented

Embeddable

Dynamic-typed

Interactive

Functional

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

History of Python

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

May the IDE with you!• Eclipse with PyDev• PyCharm• IDLE• etc

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

Python vs C/C++/Java• loose typed • { } • scope • functional/ Object oriented

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

데이터라는 것에 대해서 생각해 봅시다 .

• 우리는 데이터를 왜 쓰는 걸까요 ?

• 데이터가 많아질수록 많은 메모리를 사용하는 문제점이 생길 수 있습니다 .

• 그래서 사람들은 포인터나 레퍼런스를 사용할까요 ?

• 사용하던 메모리를 처리하려면 어떻게 만들어야 할까요 ?

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

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

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

배열을 잊고 , list 로 • ‘[ ]’• use index number • len( ): size of list • using as Stack• using as Queue • range(1,100,2)

Page 24: OSS개발자포럼(2017.01) 파이썬 소개자료
Page 25: OSS개발자포럼(2017.01) 파이썬 소개자료

커피가게를 위하여커피숍을 운영하는 A 는 항상 계산기를 이용해서 그날의 매출을 정리한다 . A 는 프로그램을 이용해서 계속해서 발생한 매출이나 지출 데이터를 입력하고 싶다 .

매 금액의 입력 후에 현재까지의 금액이 화면이 출력되는 계산기 프로그램을 작성하라 .

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

떨어지지 않는 불변의 데이터 - 튜플• ‘( )’ 를 이용하는 데이터의 묶음• immutable• data = lat, lng = 34, 127

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

{key,value} Dictionary• ‘ 키’와 ‘값’으로 규정된 데이터 • 다양한 자료와 같이 처리되는 용도 • 현실적으로 객체의 의미

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

빈도분석법

문자열의 rjust( ), center( ), ljust( ) 를 이용해서 출력

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

영수증을 발행하기 • 매장에서 손님들이 주문한 내역을 화면에 영수증의 형태로 출력하는 프로그램을 만들어야 한다면 ?