1. 설치
1) Anaconda 배포판 설치
2) 3.6 이후 깔끔한 코드를 작성 할 수 있으며, 2.7이 전은 호환이 다양한 라이브러리와 호환이 중지 되었으니 되도록이면 최신 버전을 사용해야 한다.
2. 가상 환경
프로젝트별로 라이브러리를 관리하기 위해(matplotlib과 같은 외부 라이브러리) 가상환경을 사용해야 한다.
- 콘다를 사용할 경우
conda create -n dsfs python=3.6
source activate dsfs
source deactivate
- python을 직접 설치하였을 경우
python -m venv example
example activate
3. 들여쓰기
파이썬은 다른 언어와 다르게 단락을 구분하기 위해 중괄호({})를 사용하지 않고 들여쓰기를 사용한다.
4. 모듈
import를 통해 사용할 수 있다.
import matplotlib.pyplot as plt
from collections import defaultdic, Counter
my_regex =regex.compile("[0-9]+", regex.I)
lookup = defaultditc(int)
my_counter = Counter()
5. 함수
def를 통해 함수를 저의
def double(x):
return x * 2
6. 문자열
작은 따옴표 또는 큰 따옴표로 묶어 나타낸다.
몇몇 특수 문자를 인코딩할 때 역슬래시 이용 탭을 의미하는 '\t' 역슬래시 티를 사용할 수 있다. 또는 r을 사용하여 문자 그대로 사용할 수 있으며 따옴표 세 개를 사용하여 여러 줄료 문자열을 표현할 수 있다.
tab_string = "\t"
not_tab_string = r"\t"
multi_line_string = """This is tje first line.
and this is the second line
and thisis the third line"""
7. 예외 처리
try와 except 활용
try:
print(0/0)
except ZeroDivisionError:
print("cannot divide by zero")
8. 리스트, 튜플, 딕셔너리
1) 리스트, []
- 순서가 있는 자료의 집합, 배열과 비슷하지만 좀 더 기능이 풍부하다.
2) 튜플, () - 변경할 수 없는 리스트로서, 리스트에서 수정을 제외한 모든 기능을 적용할 수 있다.
3) 딕셔너리, {} - 키, 값 쌍을 사용할 수 있는 데이터 구조
- defaultdict: 만약 존재하지 않는 키가 주어진다면 이 키와 인자에서 주어진 값으로 dict에 새로운 항목을 추가해 줌으로써 조건문을 통해 dict를 들여다 볼 필요 없다.
from collections import defaultdict
word_counts = defaultdict(int)
for word in document:
word_counts[word] += 1
9. Counter
- 연속된 값을 defaultdict(int)와 유사한 객체로 변환해 주며, 키와 값의 빈도를 연결시켜 준다.
- 아래의 c는 {0: 2, 1: 1, 2:1}로 생성 될 것이다.
from collections import Counter
c = Counter([0, 1, 2, 0])
10. Set
집합을 의미하는 Set은 유일하게 데이터 항목의 집합을 나타내는 구조로서 {}로 표현된다. 중복을 허용하지 않으며 in은 집합에서 굉장히 빠르게 작동하므로 특정 항목의 존재 여부를 확인해 보기 위해서는 리스트보다 효율적이다.
primes_below_10 = {2,3,5,7}
s = set()
s.add(1)
11. True 와 False
다른 언어의 null 처럼 파이썬은 존재하지 않는 값을 None으로 표기한다. 다음 아래는 파이썬에서 모두 거짓을 의미한다.
False, None, [], {}. "", set(), 0, 0.0
파이썬에는 리스트의 모든 항목이 참이라면 True를 반환하는 all 함수와 하나로도 참이라면 True를 반환하는 any가 존재한다.
all([True, 1, {3}])
any([True, 1, {}])
all([])
any([])
위에서 all([])는 True로 반환된다. []는 빈 리스트여서 False일 텐데 왜일까? 이유는 all()은 인자로 받은 iterable 내의 모든 요소가 참이면 True 거짓이면 False를 반환하지만 all() 함수는 기본적으로 모든 요소를 참으로 간주하므로 빈 리스트 []의 경우 거짓으로 판별되는 '요소'가 하나도 업시 때문에 모든 요소가 참이라고 간주되어 True를 반환하는 것이다
12. 정렬
sort를 사용해 정렬하거나 sorted를 사용해 정렬된 리스트를 새로 정의할 수 있다.
x = [4, 1, 2, 3]
y = sorted(x)
x.sort()
x = sorted([[-4, 1, -2, 3], key = abs, reverse=True)
13. 리스트 컴프리핸션
새로운 결과를 바로 리스트로 정의하기 위한 파이썬만의 기술
even_numers = [x for x in range(5)]
squres = [x * x for x in range(5)]
zeros = [0 for _ in even_numbers]
pairss = [(x, y)
for x in range(10)
for y in range(10)]
14. 자동테스트와 assert
assert는 지정된 조건이 충족되지 않는다면 Assertion Error를 반환
assert 1 + 1 == 2
assert 1 + 1 == 2, "1 + 1 should equal 2 but didn't"
함수 또는 함수 인자를 검증할 수도 있다.
def smallest_item(xs):
return min(xs)
assert smallest_item([10, 20, 5, 40]) == 5
assert smallest_item([1, 0, -1, 2]) == -1
def smallest_item(xs):
assert xs, "empty list has no smallest item"
return min(xs)
'IT > Data Analysis' 카테고리의 다른 글
확률론과 통계학 (0) | 2024.08.15 |
---|---|
선형대수 (0) | 2024.08.12 |
데이터 시각화 (0) | 2024.08.11 |
파이썬 속성 강좌: 심화 (0) | 2024.08.11 |
데이터 과학 (0) | 2024.08.11 |