파이썬을 공부해봅니다._1

in kufmba •  7 years ago  (edited)

파이썬 수업을 듣다가 멘붕이 옵니다.

'나는 아재구나. 나는 더이상 브릴리언트 하지 않구나'를 느끼면서...
그래도 남은 수업 시간 내내 멘붕이 올 수는 없어서 복기를 해봅니다.

아직은 객체지향이라는 말도 낯설고 컴파일러, 인터프리터라는 말도 딱 와닿진 않습니다.

자주 써보거나, 상이한 케이스를 접하면 그 의미와 차이를 느끼겠지만 지금은 먼나라 이야기입니다. 옛날에 GW-BASIC 배울 때, 변수와 상수라는 개념/RAM은 휘발성 메모리라는 내용이 어렴풋하게 기억나는데 아직은 잘 모르지만 파이썬에도 이 내용은 유효한 것 같습니다.

일단 써봐야 아는 거니...시작해보겠습니다.
a라는 변수가 있습니다.
a에 4를 입력하고 a의 결과값을 나타내라고 하면 4가 나올 것입니다.
b라는 변수가 있습니다.
b에 5를 입력하고 c에 a+b를 입력한 후 c의 결과값을 나타내라고 하면 9가 나올것입니다.

이를 파이썬으로 표시해봅니다.

a=4
print(a)
b=5
c=a+b
print(c)


화면의 왼쪽에 저 내용을 기입했습니다.
땅땅하고 엔터를 쳐도 실행이 되지 않습니다.
왜 안될까요? 질문이 틀렸습니다.
이건 파이썬이니 파이썬의 규칙에 맞춰서 '어떻게 하면 될까요?'를 알아봐야 합니다.
지금 저는 입력창에 기입한 것이고, 더욱이 이를 실행하는 버튼은 엔터가 아닙니다.

파이썬(스파이더, 파이썬 3.6)은 지금까지의 지식으로는 총 3개의 구역이 있습니다.

왼쪽은 script editor(코드입력창), 오른쪽상단은 variable explorer(변수들의 상태창), 오른쪽 하단은 ipython console(코드를 실행하는 창)입니다.

참고로 이 레이아웃(창의 배열형태)는 얼마든지 수정가능합니다만, 아직은 수정의 필요성을 모르겠으니 그대로 두고 연습해봅니다.
여기까지 이야기해서는 그래서 어쩌라고? 라는 생각밖에 안듭니다. 직접 해봅니다.

먼저 코드입력창에서 작성한 script는 각 라인별 또는 실행할 구역을 통으로 드래그한 후
모양의 아이콘 또는 키보드의 F9키를 눌러야 실행이 됩니다.

길게 프로그매링 해야 하고 저장해 두었다가 반복적으로 사용해야 하는 상황이라면 Editor 창에서 script를 작성하고 파일로 저장을 해두면 편할 것 같습니다.
먼저 코드입력창에 기입했던 내용들을 실행해보겠습니다.

코드입력창에서 실행할 코드들을 드래그해서 F9을 눌렀습니다.
코드 실행창에 같은 내용의 코드들이 입력되더니 아래에 4와 9가 표시됩니다.


그리고 변수들의 상태창을 봅니다.

a,b,c라는 변수가 있고 타입은 int, 사이즈는 1, 그리고 값(Value)은 4,5,9가 입력되어 있음을 보여줍니다. Int는 아직 뭔지 모르니 일단 그런게 있구나 하고 넘어갑니다. 지금 찾아봤자 머리에 안들어옵니다. 나중에 알게되겠죠. 뭐.
그리고 여기서 주의할 점은 위 화면의 3가지 탭 중 Variable explorer를 선택해야 이 화면이 나옵니다. 아마 기본 셋팅은 File explorer였던걸로 기억합니다만…아직까지는 크게 쓸 일이 없습니다.
다음으로는 문자를 입력해봅니다.
변수 a에 hello,world를 입력해봅니다.

a=hello,world

이렇게 입력하면 될까요? 한번 해보죠.

바로 왼쪽에 warning 메시지가 뜹니다.

미리 정의되지 않은 이름이라네요.
그냥 무시하고 F9을 눌러봅니다.

당연히(?) 오류가 뜹니다. 혹시 위의 변수들의 상태창에는 a가 hello,world로 바뀌었을까요?

아까 그대로입니다.(hello,world가 입력되지 않았습니다.)
왜 숫자는 입력이 되는데, 문자는 입력이 되지 않을까요? 어떻게 하면 입력할 수 있을까요?
교안의 19페이지에는 찾아보면 다음과 같은 내용이 나옵니다.

읽어보면 이렇습니다. 데이터의 유형이 숫자, 리스트, 스트링, 딕셔너리, 터플, 세트가 있고..
읽다보니 떠오르는 생각... "그래서 어쩌라고."

사전지식없고 머리나쁜 아재입장에서는 저 내용이 뭘 뜻하는지 전혀 감도 안옵니다.
그래서 구글링을 포함한 다른 자료들을 찾아봅니다.( https://wikidocs.net/book/1 참조)
프로그래밍언어는 Data type이라는 게 있습니다.
먼저 Number(숫자)
숫자는 다시 정수, 소수, 복소수, 참(1)/거짓(0)으로 표현됩니다.
다음은 string(문자열)입니다.
문자열은 작은 따옴표와 큰 따옴표를 둘러싸서 표현합니다.
아까의 hello,world는 ‘hello,world’ 또는 “hello,world”로 둘러싸서 표현한다는 거죠.
그래서
로 입력하고 (F9키를 눌러) 실행합니다.
실행창 화면입니다

차례대로 잘 됩니다.
동시에 변수들의 상태창도 수정된 것을 볼 수 있습니다

다른 변수들은 그대로 인데 변수a는 type이 str 즉 문자열로 바뀌고 value도 hello,world! 로 바뀐 것을 볼 수 있습니다.

이번에는 첫 문자를 대문자로 바꾸는 연습을 해봅니다.
첫 문자를 대문자로 바꾸는 명령어는 capitalize입니다.
어떻게 쓰면 될까요?
print(a) 처럼 capitalize(a)를 입력하고 실행해봅니다.

오류가 뜹니다. 아. 이 명령어는 사용하는 방법이 별도로 있는 것 같습니다.
그럼 어떻게 실행하는지 찾아보니,

a.capitalize()          # a(에 입력된 value인 hello,world!)를 capitalize 해라.

입니다.
모든 문자를 대문자로 바꾸는 방법인 upper도 마찬가지입니다.

a.upper()          # a(에 입력된 value인 hello,world!)를 upper 해라.

이들의 결과를 변수로 넣을 수 도 있습니다.
첫글자 대문자는 변수b로, 전체 대문자는 변수c로 입력해봅니다.
처음부터 다시 작성해보자면 다음과 같습니다.

드래그해서 실행하면 실행창에 다음과 같은 결과값이 나옵니다.

변수 상태창도 다음과 같이 바뀐 것을 볼 수 있습니다.

여기까지의 내용을 정리해봅니다.
스파이더(파이썬프로그램)은
왼쪽 script editor(코드 입력창)과 오른쪽 상단 variable explorer(변수 상태창), 오른쪽 하단 Ipython console(코드 실행창)으로 되어있습니다.
Script editor에는 코드를 입력해 놓는 창이고 실행은 별도입니다.
입력한 코드들을 실행하기 위해서는 F9키 등을 이용해서 실행하거나 Ipython console에 직접 입력해서 실행합니다. 여기서 실행하는 동안 사용한 변수들의 그때그때 값은 variable explorer에 표시됩니다.
기본적으로는

a= 입력할 내용

이며 계산과 숫자, 문자열 등을 입력할 수 있습니다. 변수는 a,b,c 등 다양하게 사용합니다.
결과값을 노출할 때는

print(a)

의 구문으로 사용가능합니다.
문자열의 경우에는 앞글자만 대문자로 바꾸기(capitalize), 전체 글자를 대문자로 바꾸기(upper)의 명령어(또는 함수)를 연습했습니다.
다만 이런 명령어들의 사용을 위해서는 일정한 문법이 있습니다.

a=3          # 숫자는 그냥 입력합니다. 데이터 타입은 INT로 표시됩니다.
a=‘hello,world!’          # 문자는 큰따옴표나 작은 따옴표를 사용해서 입력합니다. STR로 표시됩니다.
a.capitalize()           # a의 value를 capitalize 해라
b=a.capitalize()           # a의 value를 capitalize 한 내용을 b에 담아라.
c=a.upper()          # a의 value를 upper한 내용을 c에 담아라.
print(a)          # a에 담은 내용을 출력하라
print(b)          # b에 담은 내용을 출력하라
print(c)          # c에 담은 내용을 출력하라

그리고 입력한 코드들을 F9을 이용해서 실행시키면

hello,world!          # a의 내용이 출력됨
Hello,world!          # b의 내용이 출력됨
HELLO,WORLD!          # c의 내용이 출력됨

여기까지가 일단 파이썬을 대하는 기본인 것 같습니다.

어지간한 데이터들은 엑셀잡고 처리하는 걸 편하게 여기는 입장에서
약간 다른 구조에 흥미도 있고 어렵기도 합니다.
다음번에는 숫자와 문자열 외의 데이터 유형을 처리하는 방법, 그리고 명령문을 몇 개 더 공부해보겠습니다.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!