어제에 이은 파이썬 문법 정리
파이썬 코드 가이드 문서
PEP 8 https://peps.python.org/pep-0008/
- 들여쓰기 공백은 4칸으로 한다
- 최대 라인 길이: 모든 줄을 79자로 제한한다
- 연산자 줄바꿈할때 들여쓰기한다
- 연산자는 앞 뒤로 띄어쓰기를 하는데 *은 붙여쓴다
- 어렵다면 강제로 적용시켜주는 방법도 있다 (python 린트 툴: Pylint 등)
- =은 할당연산, ==은 비교연산 절대 헷갈리지 말 것!!!
for문
리스트 길이만큼 반복도 가능
mail =["12","사과","배","참외",1,2,3,4,5]
for i in mail:
print("hi")
range()
range([초기치, ] 최종치 [, 증가치]) => [ ]안의 내용은 생략이 가능하다.
enumerate함수
range(len(변수))를 합친 기능을 한다.
for w in range(len(weekday)):
print(w, weekday[w])
for i, v in enumerate(weekday):
print(i, v)
#위의 두 코드의 결과는 똑같다
0 월
1 화
2 수
3 목
4 금
5 토
6 일
함수 (점프투파이썬 참고)
- 함수를 정의할때 함수(매개변수) → 안에 사용되는 것은 인수(인자)
- 입력값이 여러 개일 때, 하지만 몇 개가 입력될지 모를 때 함수 형태에서 괄호 안의 매개변수 부분을 *매개변수처럼 매개변수 이름 앞에 *을 입력한다.
- *args을 붙이면 입력값을 전부 모아서 튜플로 만들어 주기 때문이다 args는 인수를 뜻하는 영어 단어 arguments의 약자이며 관례적으로 자주 사용한다.
- **kwargs처럼 매개변수 이름 앞에 **을 붙이면 매개변수 kwargs는 딕셔너리가 되고, 모든 key=value 형태의 결괏값이 그 딕셔너리에 저장된다.
- kwargs는 keyword arguments의 약자이며 args와 마찬가지로 관례적으로 사용한다.
split() - 문자열 나누는 함수
num = "031-123-4321"
def parse_phone(num):
print(num.split("-")[0]) #문자를 ()내용으로 나눔, 리스트 형태로 반환
parse_phone(num)
#결과는 031
replace(A, B) - A를 B로 변경하는 함수
def find_month(date):
return int(date.split()[1].replace("월",''))
# replace를 통해 '월'이라는 문자를 ''공백으로 변경(삭제)한다
find_month(date)
독스트링(docstring)
- 함수를 설명하는 documentation이다.
- 사용자 함수를 만들때 작성해야 한다.
작성법/ 확인하는 방법은 함수?, 소스코드까지보는 것은 ??
def 함수(매개변수)
"""
독스트링
"""
함수내용
공백제거 함수: strip / lstrip(왼쪽) / rstrip(오른쪽)
- .strip()를 붙여서 사용
슬라이싱
- 변수[1:-1] 이면, 인덱스 1번(두번째값)부터 마지막 인덱스까지 슬라이싱 한다.
LGTM (look goot to me)
- 코드리뷰할때 좋다는 뜻
주요 라이브러리
Pandas
- 대표적인 데이터 분석 도구
- 유래: Panel data system 다차원 데이터
- 행과 열로 된 구조를 다루는 데이터 분석 도구
- DataFrame - 행렬(2차원) - [ [ ],[ ] ]
- Series - 벡터(1차원) - { }
Numpy
- 파이썬에서 사용할 수 있는 공학용 계산기
- 벡터연산을 하고 내부는 c 기반으로 되어있다. 반복문을 사용하지 않는다.
- 파이썬의 접착제언어 특징 활용 : 다른언어와 연결통해 직간접적으로 성능 향상
- 빠르다! 넘파이가 다한다고 한다.
불러오기
import pandas as pd
import numpy as np
오늘의 회고
사실(Fact)
- 파이썬 흐름제어 (조건문, 반복문, 함수 문법 사용법, 예제 풀이)
- 주요 라이브러리 Pandas와 Numpy의 개요
- Pandas DataFrame 기초 실습
느낌(Feeling) : 수업을 따라가다가 하나를 놓치니까 자꾸 그 문제에 매몰되고, 다음 진도를 나갈때 집중을 못할 때가 있어 아쉬웠다.
교훈(Finding)
- 그때그때 질문하고, 복습이 필요한 부분은 일단 제쳐두고 <수업 중 진도에 더 집중하도록> 노력해야겠다.
- 수업이 다 끝나고 개념을 다지기 위해 파이썬 문서들을 꼼꼼히 읽어야겠다