어떻게든 공부는 하고싶고..
흘러가는 시간은 야속하게만 느껴진다.
그러다가! 강의를 알게되었고🤔
파이썬 기초 공부를 시작하게 되었다!!

1주차 강의들은 따로 캡쳐를 해두지 않았기에,,
2주차 5강부터라도 기록하려한다!!
🗓️ 23.09.17
- 거듭제곱을 활용하여 BMI 구하기
1) 나의 풀이

2) 정답 코드

거듭제곱을 의미하는 ** 을 활용하는 것이 더 좋은 방법이라고 생각한다!
- 비교 연산자

이미 알고있는 것들이지만! 그래도 하나하나 적어가며 복습했다.
🗓️ 23.09.18
- 두 줄짜리 코드 작성하기

이렇게 해야 원하는대로 출력할 수 있다!

하지만 위의 경우처럼 따옴표가 있음에도 임의로 줄을 바꾸면

이와 같은 오류가 발생함을 알 수 있다.

이스케이프 코드를 사용하면 \n 을 활용해 강제 줄 바꿈을 할 수도 있다.

- 문자 1과 숫자 1의 차이

🗓️ 23.09.19
- 대소문자 바꾸기: upper & lower 메소드

이렇게 upper 와 lower을 입력하면 대소문자가 바뀌는 것을 확인할 수 있다.

- 문자열의 길이 구하기: len 메소드

파이썬에서는 len 을 통해 문자열의 길이를 확인할 수 있다.

len (여기에 원하는 문장 입력하기)
괄호 안에 문장을 입력하면 된다.
추가적으로 앞에서 배운 변수를 활용해서 len을 적용할 수도 있다.

이렇게 len의 괄호부분에 변수를 임력해주어도 마찬가지로 글자 수가 출력되는 것을 확인할 수 있다.

- 특정 문자를 다른 문자로 바꾸기: replace 메소드

파이썬에서는 replace 를 통해 원하는 특정 문자를 다른 문자로 바꿀 수 있다.

replace('바꾸고 싶은 것' 쉼표 ‘바꾼 것’)으로 이루어진다.
마찬가지로 문자도 바꿀 수 있다.


🗓️ 23.09.20
- 순서로 뽑아내는 인덱싱: [ ]

사진애서 확인할 수 있듯이 배열의 1번째는 b이기에 b가 출력됨을 알 수 있다.


이렇게 배열에 접근해서 값을 가져오는 것을 확인할 수 있다.
주의할 점은, 공백도 문자로 인식된다는 것!!
🗓️ 23.09.21
- 부분만 잘라내는 슬라이싱: [시작 : 끝]
인덱싱에서는 한 글자만 가져올 수 있지만!
슬라이싱을 활용하면 문자열의 일부를 잘라낼 수 있다!
활용방법
[시작 인덱스 : 끝 인덱스] 형태로 작성할 수 있다.


이렇게!!
근데 정답 코드를 보니 다른게 있다..

💡 강의를 통해 알게된 사실!
시작 인덱스만 작성하고 마지막 인덱스를 작성하지 않으면, 자동으로 마지막 인덱스까지 가져온다.
마찬가지로 시작 인덱스를 비워두면 시작 인덱스부터 설정한 마지막 인덱스까지 가져오는 것을 알 수 있다.
그렇다면..🤔
Q. 시작 인덱스와 끝 인덱스를 모두 비워두면 어떻게 출력될까?
A. 전부 출력된다!
- 특정 문자로 나누는 스플릿: split('나누는 기준이 될 문자열')


위에서 알 수 있듯이!
@를 기준으로 나뉘는 것을 파악할 수 있다.
skydh1214 부분만 가져오고 싶은데..
split을 활용하면 @ 기준 앞 뒤로 나뉘는 것을 확인할 수 있다. 이때는 인덱싱을 사용하면 된다.


[몇번째 인덱스인지..] 입력하면 특정 인덱스 부분의 값만 가져오는 것을 알 수 있다.


또한 split.() 과 같이 괄호안에 아무내용도 넣지 않으면
공백을 기준으로 값을 나누는 것을 알 수 있다.
🗓️ 23.09.22
- 자대 전입으로 공부를 할 시간과 여유가 없었습니다..
🗓️ 23.09.23
- 리스트 자료형

2가지의 방법을 활용해 리스트를 나타낼 수 있다.
- 특징 1: 순서가 있다


실행 결과에서 알 수 있듯, 리그트에도 순서가 있다.
- 특징2: 리스트 요소들의 자료형을 통일하지 않아도 된다.


무엇이든 같이 담을 수는 있지만, 하나의 자료형으로
통일되어야 사용이 더 간편하다.
🤔 왜일까?
특정한 값의 목록으로 담아두었을 때 용도에 맞게 쓸 수 있기때문에!!
또한 값을 읽어오는 속도가 늦어진다는 단점이 있다.
- 리스트 자료형에 값을 추가하고 싶다면: append 메소드


어떻게 사용할까?
1. 대상이 되는 리스트의 자료형을 입력한다.
2. 점(.)을 작성하고 append()를 입력한다.
3. 괄호 안에 리스트 자료형에 넣을 값을 입력한다.
🚨 append 메소드를 사용해서 값을 추가하면 리스트의 맨 뒤에서부터 값이 추가된다.
- 리스트 자료형의 특정 위치에 값을 추가하고 싶다면: insert 메소드


fruits 리스트의 0번째 배열에 ’망고‘가 추가된 것을 알 수 있다.
어떻게 사용할까?
1. 대상이 되는 리스트의 자료형을 입력한다.
2. 점(.)을 작성하고 append()를 입력한다. 3. 괄호 안에 리스트 자료형에 넣을 값을 입력한다. 3. 괄호 안에 1)몇번째 배열에 넣을지, 2)넣을 값을 차례로 입력한다.
- 값을 수정하고 싶다면


1) 변경하려는 값에 접근한다.
2) 변경하려는 값에 할당 연산자를 부여한다.
3) 변경하려는 부분에 값을 입력한다.
위의 코드에서는 배열이 0~3 까지 4개로 이루어져있다.
🤔 그러나 실수로 인덱스 4에 값을 접근한다면 어떻게 될까?


에러 메세지에서 알 수 있듯이, 배열의 범위를 초과하여 에러가 발생한 것을 알 수 있다.
- 값을 제거하고 싶다면: del


del 을 입력해 특정 변수의 배열에 접근하면, 값을 제거할 수 있다.
🗓️ 23.09.24
- 리스트 명령어들


괄호 안에 길이가 궁금한 변수를 넣음으로써 구현할 수 있다.
또한 리스트 내부에는 다양한 형태의 값이 들어갈 수 있다고 했다. 리스트 안에 리스트가 들어가는 상황이 생길 수도..?


위의 경우에는 b라는 변수에 리스트 안에 리스트가 들어간 것을 알 수 있다. 그럼에도! 배열은 4가 나오는 것을 확인할 수 있다.
- 정렬하기: sort를 활용해서


1) 정렬할 대상을 적어준다.
2) 점(.)을 입력해 sort 메소드를 사용한다.
무작위로 입력되어있던 순서가 작은 수부터 차례대로 정렬된 것을 알 수 있다.
그러나! 역순으로 정렬하고 싶다면??
- 역순으로 정렬하기: sort와 reverse 를 활용해서


donghyun.sort(reverse = True)
이때 True에서 T를 소문자로 입력했더니 오류가 발생했다.
- 요소가 리스트 안에 있는지 확인하기: in




위에서 확인할 수 있듯이!
donghyun 변수에 23은 있는 값이고, 187은 없는 값이기에 각각 true와 false를 출력함을 알 수 있다.
- 리스트 거꾸로 뒤집기: reverse


🥹 실수한 것!
fruits.reverse() 를 하고 print(fruits)를 해야하는데
print(fruits.reverse())를 한 것.
두 코드(정답코드와 실수한 코드)의 차이는 fruits.reverse() 메서드의 반환 값을 다루는 방법 때문이다. reverse() 메서드는 리스트를 반대로 뒤집는 역할을 하며, 원래의 리스트를 수정하고 반환 값은 None이다.
print(fruits.reverse())로 reverse() 메서드를 호출하면서 동시에 출력하려고 하지만, 이 메서드의 반환 값이 None이므로 아무것도 출력되지 않는 것이다. 코드를 분리해서 작성하거나, 리스트를 먼저 뒤집고 나서 출력하는 방식을 사용하면 됩니다.
- 몇 번째 값인지 알아내기


쉽다. 이전에는 배열에 접근해서 해당 값을 알아낸 것이라면, 이번엔 값에 접근해서 몇 번째 배열인지 확인한 것이다.
- 배열 안에 특정 값이 몇개인지 세기: count


fruits 변수의 배열에는 apple가 2번 들어있다.
이때 .count 를 통해 apple의 개수를 확인할 수 있다.
- 배열 안에 있는 값 하나로 합치기: join


'요소 사이에 넣어줄 문자' .join(배열) 의 형태로 구현할 수 있다.
코드에서 확인할 수 있듯이, -로 구분지어 하나로 합친 것을 볼 수 있다.
- 연습 문제

- 인덱싱과 슬라이싱 복습
인덱싱은 n번째 값에 접근할 수 있게 해주며
슬라이싱은 필요한만큼 일부를 잘라서 사용할 수 있게 해준다


💡추가적으로, 배열의 가장 마지막 값을 출력하고 싶다면 -1 을 통해 출력할 수 있다.


리스트 내부의 배열도 중첩될 수 있다.
위의 코드처럼 우선 해당 배열에 접근하고 다음에 배열에 인덱스 값을 통해 원하는 값에 접근하면 끝.
시간이 꽤 흘렀다고 생각했는데..
1주일 밖에 지나지 않았다. 배운 내용들로 알고리즘을 풀어보고 싶은데 좀 더 공부를하고! 문제를 풀어야할것 같다. 글을 작성하는것에 그치지 않고 자주 보며 익숙해질 필요가 있어보인다! 이번주도 화이팅💪
'Computer Science > Python' 카테고리의 다른 글
[Python] 군대에서 공부하기 Week5 (1) | 2023.10.17 |
---|---|
[Python] 군대에서 공부하기 Week4 (0) | 2023.10.15 |
[Python] 군대에서 공부하기 Week3 (1) | 2023.10.08 |
[Python] 군대에서 공부하기 Week2 (0) | 2023.10.02 |