[Upstage AI Lab]부트캠프 1일차
최근 퇴사를 하게 됐고, 미루고 있던 공부들을 다시 하기 위한 계획을 고민해 보았다. 실무를 약 1년 넘게 하면서 인공지능이 정말 급부상 중이고, 다양한 가치들이 창출되는 분야라고 느껴졌다. 자연스럽게 프론트엔드 개발자이지만 AI에 관련된 분야의 공부를 해보고 싶어졌다.
이 과정에서 패스트캠퍼스에서 주관하는 Upstage AI Lab 부트캠프에 지원했고, 합격했다.
오늘부터 본격적으로 커리큘럼을 시작했는데, Python 기초부터 시작하는 과정이라 Python이 미숙한 내게는 좋은 기회인 것 같다.
오늘의 생각
역시나 부트캠프라 기초부터 시작한다.
이전에 했었던 코드스테이츠 때 보다는 더 어렵게 느껴진 것이, 파이썬 공부 자체가 꽤 미숙한 상태라 배울 것이 많았다. 앞으로 알고리즘 공부도 병행하며 파이썬을 잘 갈고 닦아야겠다는 다짐을 하게 됐다.
오늘의 학습내용
- 파이썬의 활용분야 및 소개
- 프로그래밍에 대한 정의
- 변수의 정의 및 선언, 출력 방법
- 순서 자료형과 비순서 자료형
- 문자열(string) 자료형 활용법
- 리스트(List) 자료형 활용법
- 튜플(tuple) 자료형 활용법
- 딕셔너리(dictionary) 자료형 활용법
- 집합(set) 자료형 활용법
- 부울(bool) 자료형 활용법
추가적으로 알게 된 내용
1. 파이썬의 입력 방식
tuple1 = (9,8,7,6)
tuple1[0]
파이썬 인터프리터는 코드 라인의 최종 결과를 자동으로 출력해준다. 실제 스크립트를 실행할 때는 print() 명령어를 써야한다.
추가로, 파이썬은 가독성 향상, 줄바꿈을 통한 문장 구분, 강제적인 들여쓰기 사용 등의 이유로 세미콜른(;)을 사용하지 않는다.
x = 10; y = 20; print(x + y)
위와 같이도 코드를 작성할 수 있지만, 이 경우에는 가독성이 떨어져 본래의 취지와 맞지 않으니 사실상 ;을 쓸 상황이 거의 없다.
2. 파이썬의 딕셔너리(dict) 자료형과 자바스크립트의 객체(object) 자료형
처음 딕셔너리 자료형에 대해 배웠을 때, 키-값 쌍으로 데이터를 저장하는 구조 때문에 자바스크립트의 객체 자료형과 매우 유사하다고 생각했다.
하지만 몇 가지 중요한 차이점이 있다.
기본적으로 선언 방법 및 문법이 다르다. 자바스크립트는 키와 값을 구분할 때 별도의 따옴표 없이도 문자열의 형태로 값을 저장하고 사용하지만 딕셔너리는 키에도 따옴표를 붙여야 한다.
키의 자료형에서도 가져오는 차이도 있다.
my_dict = {1: "number", (1, 2): "tuple", "key": "string"}
딕셔너리는 불변 자료형을 키로 사용할 수 있다. 즉, 문자열이 아니어도 1, (1,2)와 같은 방식의 데이터에도 키를 할당할 수 있는 것이다.
const myObject = { "1": "number", key: "string" }; // 숫자 1이 문자열 "1"로 변환됨
반대로 자바스크립트 객체는 문자열과 심볼(symbol)만 키로 사용할 수 있다.
내장 함수의 차이로 인해 일부 동작 방식이 다르기도 하다.
my_dict = {"name": "Alice", "age": 25}
print(my_dict.keys()) # dict_keys(['name', 'age'])
print(my_dict.get("name", "Unknown")) # Alice
예시로, 파이썬은 내장 메서드로 키나 값을 불러올 수 있다.
const myObject = { name: "Alice", age: 25 };
console.log(Object.keys(myObject)); // ["name", "age"]
console.log(myObject["name"]); // Alice
자바스크립트도 모두 가능하지만, 이 경우 프로토타입 접근을 통해 내장 메서드를 활용해야 한다.
속성 접근 방식도 다르다.
자바스크립트에서는 객체의 속성에 접근할 때 점(.) 표기법과 대괄호([]) 표기법을 모두 사용할 수 있지만, 파이썬에는 딕셔너리 접근 시에 대괄호 표기법만을 사용한다.
3. 파이썬의 해시 알고리즘
mySet2 = {2, 4, 6, 8}
print(mySet2)
위와 같이 소스 코드를 입력했을 때 터미널에서 8, 2, 4, 6의 결과값을 받았다.
파이썬이 set 내부에서 요소를 효율적으로 관리하기 위해 특정 해시 알고리즘을 사용하기 때문이라고 한다. 순서가 다른 것이 사실 조금은 거슬렸지만, 이를 보장하기 위해서는 리스트나 튜플을 사용해야 한다.