2022. 9. 3. 10:38ㆍ하고 싶은게 많군 그래?!/나도 해본다 파이썬
1. 들어가며.
앞으로 존칭을 쓰지 않기로 했다. 이유는 어차피 볼 사람이 없기 때문이기도 하고 마치 내가 가르치려 드는 것 같아서 그러면 안 되겠다는 나름대로의 논리를 가지고 포스팅에 임하게 되었다.
파이썬을 독학으로 하겠다고 생각을 하고 몇 주가 지났는데 사실 진도가 그렇게 빠르게 진행되는 것 같지도 않고 배운 내용은 금방 금방 까먹어서 나름 애를 먹고 있는 듯하다. 아무튼 꾸준히 일단은 책 2권을 끝내는 게 나의 목표이다.
그럼 계속해서 이어 나가본다.
2. Error 오류 몇 가지

파이썬을 연습하며 위와 같은 에러 메시지가 뜰 때가 있었다. 어떨 땐 '타입 에러 TypeError'가 어떨 때 '인덱스 에러 IdexError'가 뜨는데 이참에 몇 가지 Error에 대해함 보고 가고자 한다.
IndexError(Index out of range) 오류

이 오류는 리스트 / 문자열의 수를 넘는 요소나 글자를 선택할 때 발생한다고 한다. 책을 보고 위의 소스코드를 작성하니 인덱스오류가 발생했는데 이는 문자열에 없는 문자를 선택하고 있어서 오류가 발생해서 결괏값을 출력시킬 수 없다는 메시지가 뜬다.
소스코드 작성간 인덱스 오류 IndexError가 출력되면 '내가 작성한 코드(리스트/문자열)에 수를 넘는 부분을 선택했다.'라고 이해하고 하는데 무슨 말인지 모르겠다. 그냥 이런 게 있구나 하고 넘어가자.
ValueError 오류

자료형을 변환할 때 '변환할 수 없는 것'을 변환하려고 할 때 이 오류메시지가 뜬다고 한다. 이는 숫자가 아닌 것을 숫자로 변환하려고 할 때나 소수점이 있는 숫자 형식의 문자열을 int( ) 함수로 변환하려고 할 때 발생한다고 한다. 이것도 이런 게 있다 정도로 넘어간다.
TypeError 오류

오늘 마지막은 타입오류TypeError인데 이것은 서로 다른 자료를 연산할 때 발생한다고 한다. 지난번에 문자열 같은 경우 곱셈을 하면 아래와 같은 결괏값이 나오는데 나눗셈을 하거나 빼거나 더하면 오류가 발생한다

여기까지 에러Error 3개 봤는데 더 없는 것 같기도 하고 이에 대해 초보니 이런 게 있구나 정도로 넘어가는 게 맞는 듯하다.
3. 변수
나는 지금 파이썬의 자료형에 대해 독학하고 있다. 그런데 책이나 영상에서 변수라는 말을 많이 언급을 한다. 변수...내가 아는, 평소에 사용하는 변수란 개념은 어떤 상황이나 요인들이 변화할 수 있는 가능성을 말할 때 사용한다. 한마디로 미래의 불확실성을 언급할 때 쓰는 용어를 파이썬에서 만났는데 조금 다른 의미 같기도 하고 그렇다. 그래서 이번에 한 번 알아보고자 한다.

이렇게 정의를 내리는데 변수는 어떤 내용의 이름 정도로 이해를 하면 되는가? 이 부분은 일단 컴퓨터프로그램의 구조를 좀 더 이해야 되는 것인지 아니면 우리나라 말로 옮기면서 용어 선택을 신중치 못해서 그런 건지 명쾌하지 않다는 생각이다. 방법은 없다. 무조건 일단 외우고 익숙해지는 수밖에.

위에 작성한게 변수의 형식인데 'a'라는 변수엔 숫자'234'라는 값을 할당했다고 보면 되는 것 같다. 사용된 ' = '는 같다의 의미가 아니라고 한다. 여기서 공학도의 생각이 나 같은 인문학도완 좀 다른 게 아닌가 생각이 들긴 했다.
이렇게 보면 변수는 프로그래밍간에 일종의 약속인 거 같다. '나는 특정 단어를 특정 의미로 사용할 거니 컴퓨터 넌 이 단어 만나면 그런 줄 알아?" 이렇게 이해하면 편할 듯. 일단은 말이다.
일단 변수도 여기까지.
4. 리스트 자료형 (List / 목록)

리스트를 만들 땐 대괄호([ ])를 둘러싸고 쉼표( , )로 각 값을 구분한다고 한다. 이 리스트형을 왜 쓸까? 내가 본 책에는 설명이 잘 안 나오는데 나름대로 생각해보면 변수에 하나의 값만 할당하면 엄청 비효율적이라 리스트형을 쓰면 효율적인 데이터 관리가 가능하기 때문에 리스트형을 쓰는 게 아닐까 싶다.
리스트 자료형에서 리스트 안에 리스트를 포함할 수 있다는 것 정도는 특이했다. 그리고 리스트List도 인덱싱과 슬라이싱이 가능하다. 그러면 한 가지 짚고 넘어가야 할게 b = [1, 2, ['파이썬', '독학']이라는 변수의 '독학'을 인덱싱 하려면 어떻게 해야 할지 궁금해진다.

단순하게 생각해서 들어가니 바로 에러가 뜨는데 이럴 때

b[2][1]로 소스코드를 작성하면 된다.
리스트의 수정과 삭제, 연산 등도 넘어간다. 다음은 리스트 함수에 대해 알아보고자 한다.
리스트 함수_append (요소 추가)

리스트 함수_sort (정렬)

sort는 숫자뿐만 아니라 문자도 알파벳 순서로 정렬 가능하다.
리스트 함수_reverse (순서 뒤집기)

알파벳도 잘됨을 확인했다.
리스트 함수_index (인덱스)

리스트 내의 값이 어디에 위치한 지 알려주는 함수이다. 그러니깐 3은 1번째 있다고 해석하면 되겠다. 그런데 뭔가 좀 헷갈리는 건 사실이다. 익숙지 않아서 그렇겠지 뭐.
만약에 리스트에 있지 않은 값을 인덱싱 하면 오류 뜬다. 당연한 거지만.
리스트 함수_insert (삽입)

몇 번째 뭘 집어넣어라는 것 같다. 나는 4번째에 9를 0번째에 2를 넣는 걸로 소스코드를 작성해보니 잘 작동한다. 굿!
리스트 함수_remove (제거)

리스트에 요소를 제거하는 건데, 동시에 수 개의 요소를 제거하는 건 불가능하나? 몇 개 테스트해보니 안된다. 다른 방법은 분명히 있을 텐데 현재로선 난 모르겠다.
리스트 함수_pop

값을 출력하고 그 값을 제거한다. 그런데 내가 정해서 제거하는 게 아닌가 보다. 마지막에 있는 값을 출력해 보이고 제거하는 걸 확인할 수 있다.
리스트 함수_count (개수 세기)

리스트 안에 값이 몇 개 있는가를 세는 게 아니라 특정 값이 몇 개 있나를 보여준다.
리스트 함수_extend (확장)

값을 더해주는 것 같다. insert가 위치와 값을 정했다면 extend는 값만 작성해서 붙이는 것 같은데 위치는 마지막에 딱 달라붙었다. 물론 sort함수 써서 정렬 가능하다.
5. 마치며
포스팅할 때 부담 아닌 부담이 됐던 것은 남들의 시선이었던가 보다. 이렇게 신경을 안 쓰고 하고 싶은 대로 막 하니 재밌는 것 같기도 하고 복습도 잘되는 것 같다. 이렇게 앞으로 쭈욱...
튜플형은 그냥 넘어가려고 한다. 이유는 학습은 했으나 그간 포스팅 신경 쓴다 부담이 되어 진도가 느렸는데 진도 빼는 게 목적이지 포스팅이 목적이 아니라는 생각이 들어서 그렇다.
그럼 꾸준히 한 번 해보자.
'하고 싶은게 많군 그래?! > 나도 해본다 파이썬' 카테고리의 다른 글
| [독학 파이썬 정리] 파이썬 자료형에 대해 알아보고 있습니다. (0) | 2022.08.25 |
|---|---|
| (Python_독학) 2. 파이썬 용어 정리 (0) | 2022.08.20 |
| (Python_독학) 파이썬 독학을 시작하며. (0) | 2022.08.15 |