목록Records of/Learning (53)
SiLaure's Data
- 프로그램에서 가장 중요한 것은 반복이다. · 반복이 왜 중요할까?? · 컴퓨터가 제일 잘하는 것은 노가다이고, 컴퓨터는 단순 작업의 반복에 최적화된 기계이기 때문에 - 프로그램의 기본적인 역할인 노가다를 담당한다. 비슷한 작업을 반복한다. · 어떤 작업을 반복하게 할 것인가? · 주어진 일을 반복 가능한 형태로 바꿔주어야 한다. - 파이썬에서는 while, for 2가지의 statement를 제공한다. - while문은 **조건을 만족하는 동안 반복**한다. - while (조건): - 조건이 만족하는 동안(while) statement1, 2, 3을 반복한다. # 2단을 while문으로 구현해봅시다. # 구구단의 로직 잡기 --print("2 x %d" %(숫자, 2*숫자)) number = 1 w..
- if 를 왜 쓰는가? · Python을 왜 쓰는가? --컴퓨터에게 일을 시키려고 · 일을 시키기 위해서는 프로그래밍을 해야 한다. · 프로그래밍으로 데이터를 다루기 위해 데이터 타입을 알아야 한다. · 데이터에 변수를 담아서 컴퓨터에게 일을 시킨다. · 일을 시키는 과정 -구체적으로 명령내리고 제어하는 것-이 if · 위의 과정이 쌓이면 곧 프로그래밍이다. - Control statement란? · 프로그램의 흐름을 제어하는 명령어 · 프로그램의 흐름 = 컴퓨터가 어떤 일을 해야하는지에 대한 과정. - 조건과 반복에 따라서 프로그램의 진행 과정이 바뀌게 된다. · 프로그램은 조건과 반복의 나열 - 조건(Conditional Statement)로는 if문 · if, elif, else - 반복(Iter..
- 사전(Dictionary)(**) : 파이썬에서 리스트와 함께 굉장히 많이 사용되는 구조. 꼭 마스터 할 것! · 파이썬에서 제공하는 사전 자료형은 key - value 방법을 통해 저장한다. · 같은 말로 Hash Table이라고 불리며, 데이터 관리에서 굉장히 중요한 개념이다. - 사전을 만들 때 key는 중복이 있으면 절대 안된다. - 에러가 발생하지는 않지만 중복된 key중 마지막 key의 value만 생성된다. => 정상적으로 사용할 수 없음 - key가 될 수 있는 data type은 immutable이어야 한다. => int, float, string, ... (O) / list, dict (X) (계속)
· 집합 자료형은 정말 말 그대로 수학에서 배우는 집합 그 자체이다. · 생성은 set() · 원소의 중복을 허용하지 않는다. => 원소의 종류를 나타내기 좋다. · 원소의 순서가 존재하지 않는다. => 원소의 index가 없다. 더보기 news1 = "I'm a boy." news2 = "You are a girl." # 2개의 뉴스 기사의 겹치는 단어의 종류. # 단어의 종류 수 == 서로 다른 단어의 개수 # 겹치는 단어의 종류 == 2개의 뉴스 집합이 공통으로 가지고 있는 단어 - 집합의 연산 s.update([4, 5])는 s.union({4, 5}) 와 결과는 같지만 update는 s집합 자체를 수정(변경)하는 것이고, union은 합집합이라는 새로운 집합을 생성하는 것
- tuple은 list와 거의 같다. => indexing, slicing 모두 동일하게 사용 가능하다. - 다른 점은 2가지 1) 리스트는 [ ] 을 사용하고, 튜플은 ( )을 사용한다. 2) 리스트는 생성 후 변경 가능(mutable), 튜플은 변경 불가능(immutable) 더보기 - Mutable : 생성된 이후에 변경(assignment)이 자유롭게 가능한 data type. e.g. List, dict, set - Immutable : 생성된 이후에 변경이 불가능한 data type e.g. int, float, string, tuple, frozenset => Immuatble data type의 장점 1. 성능적인 이슈 : 변경되지 않는 그 자체가 장점 2. 프로그래밍적인 이슈 : 데이터..
- Slicing (**) : 슬라이싱은 리스트에서 뿐만 아니라, 리스트와 비슷한 구조인 numpy array와 pandas series, dataframe에서도 많이 이용되니 꼭 알아두자. · 슬라이싱은 리스트의 일부분만 잘라낸다는 의미이다. (말 그대로 슬라이싱) · 리스트의 일부만 사용하고 싶을 때 쓰는 기법이며, indexing을 범위로 하는 느낌이다. · 리스트의 index와 : 를 사용하여 슬라이싱을 할 수 있다. e.g. L = [1, 2, 3, 4] 일 때 L[0:2] 는 [1, 2]이다. cf) L[ : : 2]는 2씩 건너 뛰기. => L[0], L[2], ... - 리스트 연산하기 · 리스트 더하기 · 리스트 곱하기 · 리스트 수정하기 · 리스트에 원소 추가하기 append() (**..
- 연속형 데이터 · 연속형 데이터란 하나의 변수가 하나의 데이터를 가지고 있던 숫자형 데이터와 달리, 여러개의 데이터를 하나의 변수에 가지고 있는 데이터 타입이다. · List, Tuple, String이 대표적인 연속형 데이터이다. · 크기 제한은 없으나 사용하는 컴퓨터의 가용 메모리 용량을 인지하여 사용해야 한다. · 각 연속형 데이터 타입마다 특징이 다르다. 그 특징을 파악하여 용도에 맞는 데이터 타입을 사용하는 것이 중요하다. cf) 사전(dictionary) 타입은 associative array라고 불리며, 흔히 알고있는 Hasg table 구조이다. - 리스트(List) · 가장 많이 사용되는 연속형 데디터 타입이자, 굉장히 유연한 구조를 가지고 있어 대부분의 데이터를 편하게 다룰 수 있다..
- 문자열 Formatting · 문자열을 출력할 때*(print 함수를 사용하여) 특정 format을 지정하고 싶은 경우에는 어떻게 해야할까? e.g. OOO님의 주민등록 번호는 XXXXXX-XXXXXXX입니다. · 문자열 포맷에는 크게 3가지가 있으며 기호에 맞게 사용하면 된다. 더보기 1) print format 사용 2) str.format 함수 사용 3) f-string(**) (연습문제) - 문자열 관련 함수들(**) · (영어) 대소문자 바꾸기 : upper(), lower() · 문자 공백 지우기 strip() -- 따옴표 직후/직전의 공백만 적용 · 문자열 삽입 join() · 문자열 나누기 split() · 문자열 바꾸기 replace()