[인사이트]
다양한 아티클을 통해 데이터 분석가의 업무에 대해서 배우다보니 이제 조금 감이 잡힌 것 같다. 특히 세가지 사례를 통해 더 확실하게 이해할 수 있어서 좋았다. 데이터 분석은 정해진 답이 없는 직무이기 때문에 굉장히 재밌을 것 같고 동시에 어려울 것 같다. 복잡한 분석 기술과 최신 분석툴을 사용한다고 다 좋은 결과가 나오는 것이 아니기 때문에 분석가의 역량이 더 중요하다고 생각했다. 코딩 기술 말고도 통계학을 공부해서 역량을 키워야겠다고 느꼈다. 캠프를 진행하면서 데이터 분석 기술에만 집중하지 않고 문제 전체를 처음부터 끝까지 해결하는 능력을 키워야겠다는 생각이 들었다. 또 아티클에서 추가로 추천하는 ‘데이터 분석가가 되고 싶은 취준생을 위한 안내서’를 읽고 어떤 것들을 준비해야하는지 더 생각해봐야겠다.
참일 때 값 if 조건 else 거짓일 때 값
# 기본 if 문
num = 3
if num%2 == 0:
result = "짝수"
else:
result = "홀수"
# 한 줄로 적기 : 삼항연산자
result = "짝수" if num%2 == 0 else "홀수"
a_list = [1, 3, 2, 5, 1, 2]
# 기본 for문
b_list = []
for a in a_list:
b_list.append(a*2)
# 한줄로 적기
b_list = [a*2 for a in a_list]
주어진 함수를 반복 가능한 객체(리스트, 튜플 등) 의 모든 요소에 적용
map(함수, 반복 가능한 객체)
주어진 함수로 조건을 걸어 True인 값만 반환
filter(함수, 반복 가능한 객체)
이름 없는 간단한 함수를 정의
lambda 인수: 반환값
# map
numbers1 = [1, 2, 3, 4, 5]
result1 = map(lambda x: x * 2, numbers)
print(list(result1)) # [2, 4, 6, 8, 10]
# filter
numbers2 = [1, 2, 3, 4, 5, 6]
result2 = filter(lambda x: x % 2 == 0, numbers)
print(list(result2)) # [2, 4, 6]
객체 지향 프로그래밍(OOP)의 핵심 개념
: 객체를 생성할 수 있는 청사진(템플릿) 또는 설계도
class ClassName:
# 속성(변수)
'''__init__(self): 클래스의 생성자로, 객체가 생성될 때 호출됩니다.
객체의 초기 속성을 설정하는 데 사용됩니다.'''
def __init__(self, 매개변수1, 매개변수2):
self.속성1 = 매개변수1
self.속성2 = 매개변수2
'''self: 현재 객체를 가리키는 참조 변수로,
클래스 내부에서 객체의 속성에 접근할 때 사용됩니다.'''
# 메서드(함수)
def method_name(self):
# 메서드에서 할 일
pass
클래스 변수: 모든 인스턴스에서 공유되는 변수.
인스턴스 변수: 각 인스턴스마다 독립적으로 존재하는 변수.
상속 (Inheritance) : 기존 클래스(부모 클래스)를 기반으로 새로운 클래스(자식 클래스)를 만들 때 사용. 자식 클래스는 부모 클래스의 속성과 메서드를 상속받아 재사용함.
args랑 kwargs는 그냥 눈으로만 보고 넘어갔다. 강의가 짧은데 내용이 많아서 이해가 쉽지 않았다. GPT한테 열심히 물어보면서 공부했다. 남은 시간 동안 문제 많이 풀어서 파이썬이랑 sql에 최대한 익숙해지고 싶다. HSK 때문에 SQLD 공부할 시간이 없다... 어떻게든 되겠지.