이 사이트에 올라간 파이썬 관련 글을 이용하여 파이썬을 공부하는 차례를 정리해 보았습니다. 글이 올라간 순서가 왔다갔다해서 혼란이 있을 것 같아 초보 단계부터 차례로 심화하는 과정을 나열해 보았습니다. [1] 기초 단계 (파이썬 프로그래밍을 해본 사람이라면 이 단계는 건너뛰어도 됩니다) Python 시작하기 (1) - 대화모드와 소스파일 실행 Python 시작하기 (2) - 프로그램 구조, 타입과 변수 Python 시작하기 (3) - 입출력 기본 파이썬 시작하기 (4) - 연산과 수식 파이썬 시작하기 (5) - 문장 if와 for[ [2] 복합타입 - 스트링과 리스트, 튜플 (기본적인 내용도 포함하고 있지만 중요한 개념을 정리하기 위해 일독을 권합니다) 파이썬 스트링 파이썬 리스트 진위형과 진위 수식(b..
openbookproject의 Beginning Python Programming for Aspiring Web Developers 5장 번역 [Copyright Notice] 6. 사전 (dictionaries) 6.1. Dictionaries 사전은 앞에서 배운 리스트, 튜플, 스트링같은 시퀀스와는 좀 다른 복합타입이다. 이것은 파이썬에서 제공하는 빌트인 매핑 타입이다. 즉 키(key)를 값(value)에 매핑시켜주는 자료구조인데, 키는 불변 타입이어야 하고 값은 리스트나 튜플 등 어떤 값이나 가능하다. 이러한 키-값 쌍(key-value pair)은 모든 프로그래밍언어에서 지원되고, 컴퓨터 프로그래밍에서는 매우 자주 사용된다. 예를 들어 영어 단어를 한국어로 번역하는 사전을 만든다고 가정해 보자. ..
5. Functions openbookproject의 Beginning Python Programming for Aspiring Web Developers 5장 번역 [Copyright Notice] 사람들은 머릿속에서 한번에 여러 개의 데이터와 정보 조각을 다루는데 익숙하지 않다. 연구 결과에 의하면 대부분의 사람들은 한꺼번에 최대 7개의 일을 다룰 수 있다. 컴퓨터는 반면 수천 개의 일도 동시에 기억하고 다루는데 문제가 없다. 사람이 수천줄에 달하는 복잡한 프로그램을 작성할 수 있게 하기 위해 프로그래밍 언어는 프로그래머가 여러 개의 명령문 연속에 이름을 붙이는 추상화라는 기능을 제공한다. 이 이름은 나중에 그 세부적인 사항을 알 필요없이 그 명령문들을 가르킬 수 있다. 이 장에서 다루는 함수는 파이..
3. Strings, lists, and tuples openbookproject의 Beginning Python Programming for Aspiring Web Developers 3장 번역 [Copyright Notice] 이전글에서 이어집니다. 3.7. 리스트는 변경 가능하다(mutable) 시퀀스의 세 가지 타입 중에서 스트링과 튜플은 값을 변경할 수 없다(immutable objects). 값을 변경할 수 없다는 의미는 객체가 일단 한번 만들어지면 그 객체의 요소의 값을 변경하거나 삭제, 추가할 수 없다는 의미이다. 만약 요소의 변경이 필요하다면 새로운 객체를 만들어야 한다. 그러나 리스트는 요소들을 변경할 수 있다. 가장 쉽게는 지정을 이용해서 요소의 값을 바꿀 수 있다. 인덱스 표현의 요..
3. Strings, lists, and tuples openbookproject의 Beginning Python Programming for Aspiring Web Developers 3장 번역 [Copyright Notice] 3.1. Sequence data types 이전까지는 파이썬에 들어있는 기본 타입들인 int, float, str 타입을 배웠다. int와 float는 수치 타입이라고 하며 숫자를 표현한다. 사칙연산이나 비교연산, % 연산 같은 수치 연산자를 이용하여 수치 수식을 만들 수 있다. 이런 수식들을 포함한 파이썬 프로그램은 실행에 의해 수식의 결과를 우리에게 보여준다. 프로그램이란 입력과 출력을 가지고 수식과 지정문, 조건문과 반복문으로 구성된 코드 부분을 뜻한다. 여기서는 여러 ..
openbookproject.net의 "Beginning Python Programming for Aspiring Web Developers"에서 일부 발췌 번역 진위값과 진위형 이번 글에서는 참이나 거짓을 나타내는 타입인 진위형(boolean type)을 살펴본다. 참 거짓을 이용하여 식을 표현하고 계산하는 수학 분야를 Boolean algebra라고 한다. 이것은 오늘날 컴퓨터 수학의 기본이다. 더보기 [주] 컴퓨터는 진위값이 참이냐 거짓이냐에 따라 실행 흐름을 다르게 할 수 있다. 이것 덕분에 컴퓨터는 단순한 계산기가 아니라 범용적인 즉 무슨 일이든 할 수 있는 기계가 된다. 진위값(boolean values)은 두 가지가 있다. True와 False다. >>> type(True) >>> type(..
[문제] 두 해의 월별 매출기록을 나타내는 데이터를 생성합니다. 첫 해 12개월의 실적값은 50~100 사이로 랜덤으로 생성한다. 두 번째 해의 실적값은 첫 번째 해의 해당 월 실적값에서 –20 ~ +20 사이로 랜덤하게 증감시킵니다. [ 1월] 70 65 => -5 [ 2월] 60 50 => -10 [ 3월] 95 82 => -13 [ 4월] 77 59 => -18 [ 5월] 86 84 => -2 [ 6월] 81 101 => +20 [ 7월] 50 53 => +3 (2단계) 위의 데이터를 월별 증감값으로 오름차순 정렬하여 출력합니다. (3단계) 증감값이 최대와 최소인 월을 찾습니다 [1단계 문제해결 방법] 첫해의 월별 매출기록을 12개 생성하여 리스트에 저장합니다. 매출 기록은 50~100 사이의 랜덤..
앞의 글에서 만들었던 학생 점수 데이터를 이용하여 다양한 기준으로 정렬하는 방법을 살펴보겠습니다. 우리는 지금 한 학생의 여러 개 정보를 zip을 이용해 묶어 출력하고 있습니다. zip을 하면 얻어진 결과는 리스트가 아니고 generator 값입니다. (제너레이터는 요청될 때 차례로 하나씩 계산하는 함수 또는 수식이고 리스트를 모든 값을 다 계산해서 저장해둔 형태가 됩니다. 이 차이에 대해서는 제너레이터 포스트를 참고하세요. ) 정렬을 하려면 모든 데이터가 리스트에 들어있어야 하므로 우리는 zip으로 여러 개 리스트를 묶은 결과를 다시 list를 통해 바꾸어 주어야 합니다. ziplist = list(zip(alpha, scores, sums)) 이것은 사실 튜플(이름, 점수들, 합계)의 리스트가 되는데..
[문제] 다음은 a~j까지 열명의 학생의 점수(50~100사이 랜덤)과 그 학생의 점수합계, 그리고 전체 점수합의 평균과 이 학생의 점수합의 차이를 보여준다. 이 예에서 평균은 220.1이고 a 학생은 점수합이 평균과 –18.1 차이임을 보여준다. a [59, 81, 62] => 202 (-18.1) b [96, 70, 94] => 260 (+39.9) c [74, 92, 93] => 259 (+38.9) d [53, 75, 52] => 180 (-40.1) e [75, 67, 75] => 217 ( -3.1) f [58, 55, 74] => 187 (-33.1) g [54, 73, 83] => 210 (-10.1) h [58, 50, 89] => 197 (-23.1) i [79, 96, 93] => 2..
프로그래밍 언어에서 이터레이터는 미리 정해진 값의 집합에 대해 값을 하나씩 돌려주는 기능(하나씩 끝까지 반복하게 해주는 기능)을 제공하는 객체입니다. 언어마다 이터레이터를 사용하는 방식이 다른데 파이썬은 이터레이터를 언어의 중요한 개념으로 사용하고 있습니다. 순차나열의 구조를 가지는 반복부를 분석해보면 (1) 반복되는 대상 집합과 (2) 반복을 위해 값을 하나씩 꺼내서 주는 부분(다음 값이 무엇인지, 언제 끝낼지 결정해야 함), 그리고 (3) 그것을 이용해서 뭔가를 처리하는 코드 부분으로 구성되어 있습니다. 이 때 값을 하나씩 제공하는 부분과 그 값을 사용하는 부분이 분리되게 코드를 구성한다면 가독성을 올리고 재사용성이 훨씬 높아지는 코드를 작성할 수 있습니다. 이터레이터는 다음 값을 제공하는 기능과 끝..
- Total
- Today
- Yesterday
- ToString
- C++ 클래스
- contentEquals
- APPEND
- rust
- 자바regex
- comparable
- 스트링 +
- TypeError
- format
- 지연계산
- CompareTo
- 패턴
- 동적바인딩
- 콜렉션
- typedef
- max
- sort key
- contains
- 이터러블
- Camel Style
- Lazy evaluation
- Iterator
- 이터레이터
- 스트링
- zip
- indexof
- python example
- follow
- python exercise
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |