[HARMAN] 세미콘 아카데미/공부내용

[Harman 세미콘 아카데미]Day_2(Python 기초)

uiop1716 2025. 2. 5. 23:11

오늘은 2일차...

어제보단 일어나는데 어려움이 없었지만, 아침 기상은 항상 어려운 것 같다.

오늘 엄청 추웠는데, 추위를 뚫고 출근하시는 모든 분들 화이팅이다.

 

오늘도 Python의 기초를 다지며 배운 내용들을 정리하고자 한다.

매일 강의가 끝나면 교수님께서 실습을 위한 교육 자료들을 올려주셔서 리마인드하고 작성하기 수월한것 같다.

 

오늘의 핵심 내용은 크게 말하면 문자열과 리스트이다.

먼저, Escape Code : 프로그래밍할 때 사용할수 있도록 미리 정의해둔 '문자 조합'이다.

Escape Code, 어디서 많이 본 것들이다.

 

명시적 형변환(Type Casting) : 데이터를 내가 원하는 형태로 변환한다

명시적 형변환

 

위의 예제를 보면, num4와 num5는 문자열의 형태이기 때문에 합치면 "107"이라는 문자열이 된다.

하지만, int() 명시적 형변환을 통해 num4와 num5를 정수의 형태로 바꾸어 더하면 17이라는 숫자가 된다.

 

 

문자열에서의 인덱싱(Indexing)과 슬라이싱(Slicing)

인덱싱 : 무엇인가를 '가리킨다'

슬라이싱: 무엇인가를 '잘라낸다'

  *슬라이싱 범위 설정 시, 앞 번호는 inclusive이기 때문에 그대로 작성, 뒷 번호는 exclusive이기 때문에 +1하여 표현한다.

인덱스 표현법은 앞에서부터 0번, 뒤에서부터 -1번을 표현한다.

 

이에, 문자열의 일부를 '가리키는' 인덱싱과 문자열의 부분을 '잘라내는' 슬라이싱에 대한 실습을 진행하였다.

실습실습

 

교수님이 출제하시는 문제도 풀어본다

 

예제를 풀어보며 연산자에 대해서도 배우고 실습을 진행하였다.

먼저, 산술 연산자에 대한 예제 : (데이터 타입을 항상 신경쓰자)

산술 연산자 예제

 

논리연산자에 대한 예제 : (C언어 에선 !, &&, || 를 사용하지만, Python은 영자를 그대로 씀)

논리 연산자 예제

 

삼항연산자: if else 조건문을 한 문장으로 나타내는 연산자

            기본 형태:    a if 조건식 else b

                   ㄴ 조건식이 True면 a, 조건식이 False면 b를 표현하라.

삼항 연산자 예제

 

또한, 문제에 대한 확장을 위해 input()함수를 활용하는 법도 배우며 여러 문제들을 풀어나갔다.

 

 

문자열 포맷팅 : 문자열 안의 특정한 값을 삽입해야 할 때 사용된다. 내가 원하는 값을 원하는 곳에 넣기 위해 사용된다고 생각하면 된다. 포매팅에는 3가지의 방법이 있고 원하는걸 골라서 쓰면 된다.

3가지 포맷팅 방법. 개인적으로 C언어와 유사한 1번이 더 편한 것 같다.

 

조건문 : 조건문은 텅 빈 도로에 나의 목표와 의도대로 신호등을 설치하고 제어하는 행위라 생각한다.

지금 배울 조건문은 if, elif, else, in, not in 이다.

if : 만약에 조건문이 True 라면, 실행

elif : if 조건문이 아니고 elif의 조건문이 참일 경우, 실행

else : if 조건도 아니고, elif 조건문도 아니고 이도저도 아닐경우, 실행

in, not in : 포함되어 있는지 확인

    ㄴin : 찾고자 하는 값이 포함되어 있으면 True
    ㄴnot in : 찾고자 하는 값이 포함되지 않으면 True

 

요리조리 조건을 설정하여 문제를 해결한다. 

맛있겠다...

 

리스트: 순서가 있는 수정 가능한 객체의 집합

( [ ] ) 대괄호로 작성되어지며, 리스트 내부의 값은 ( , ) 콤마로 구분되며 각 값은 왼쪽부터 0이 증가하는 인덱스를 갖는다.

리스트는 내부의 값을 추가, 수정, 삭제가 가능하다 (리스트와 비슷한 튜플은 불가능하다...)

 

리스트 내부의 값 추가하기:

1. append : 맨 뒤에서부터 그냥 추가

      형태: 리스트명.append(값)

2. insert : 특정 위치에 특정 값 추가

      형태: 리스트명.insert(index, 값)

 

리스트 내부의 값 수정하기:

수정하고자 하는 값의 인덱스를 잡고 직접 수정 한다.

       형태 : 리스트명[특정 인덱스] = 변하고자 하는 값 

                                    ㄴ 특정 인덱스의 범위에 대한 변환도 가능하다. 

 

리스트 내부의 값 삭제하기:

1. del : 인덱스로 삭제. 슬라이싱으로 여러개 삭제 가능

       형태 : del 리스트명[index]

2. remove : 값으로 삭제. 하나씩 밖에 삭제 불가

       형태 : 리스트명.remove(값)

리스트 예제

 

리스트에 대한 간단한 함수들도 배우며 실습하였다.

1. 리스트 오름차순 정렬 : 리스트에 있는 값을 오름차순으로 정렬

   ㄴ형태 : list.qsort()

2. 리스트 내림차순 정렬 : 오름차순 된 리스트의 값을 반전하여 내림차순 정렬

   ㄴ형태 : list.reverse()  ***** list가 오름차 정렬 되어있어야 함 *****

3. 리스트 값의 위치 반환 : 찾고자 하는 값의 위치를 반환함

   ㄴ형태 : list.index()

4. 리스트 값 제거 : 마지막 값을 반환 후 리스트에서 제거 (큐,스택에서 사용될 예정) 

   ㄴ형태 : list.pop()

5. 리스트 길이(크기) 반환 : 리스트의 값 개수 반환

   ㄴ형태 : len(리스트)

 

 

 

느낀점:

학부 시절, Python 수업을 약 3년 전에 듣고 약간 까먹었던 부분에 대해 배우고 실습하며 복습할 수 있었던 좋은 기회였다.

'터를 닦아야 집을 짓지' 라는 말이 있다. 기초가 탄탄해야 그 위에 집을 지을 수 있다는 뜻이다.

지금 내가 배우는 것들은 모래를 두들기며 기초를 다지는 것이라고 생각한다. 나만의 집을 지을 예정이니 부실공사는 없도록 노력할 것이다.