프로그램 언어에는 크게 네 가지 종류가 있다.
컴파일 언어
스크립트 언어
블럭형 언어
교육용 언어
그 중 파이썬이라는 언어가 속한 인터프리터 언어는
1) 한줄 단위로 해석을 하고
2) 그로 인해 빈번한 수정이 있을 때 효과적이다.
3) 하지만 문서를 통째로 번역을 하는 컴파일 언어에 비해서는 속도가 느리다.
1. 파이썬 설치와 시작
그렇다면 파이썬과 같은 인터프리터 언어를 사용하기 위해서는 작업을 위한 환경이 필요한데
그것이 인터프리터이다.
내가 사용하기로 한 인터프리터의 이름은 아나콘다 스파이더이다.
설치 과정은 대충 이렇게 된다.
1) 구글에 anaconda를 검색한다.
2) installation 링크를 클릭한다.
3) 운영체제에 맞는 다운로드 파일을 설치한다.
(내가 사용하는 운영체제에 맞게 다운을 받아야 한다.)
4) 다운로드 완료!
다운르도를 완료하면
Anaconda를 실행시켜야 한다.
그러면 작은 창이 하나 뜨는데,
Next > I agree > 경로 설정 > All users > Add to path체크 > install순으로 클릭하면
문제 없이 실행시킬 수 있다.
본격적인 시작에 앞서 파이썬의 특징에 대해 조금 더 알아보자면
파이썬은 플랫폼에 독립적이라는 것이다.
여기서 플랫폼에 독립적인 것은 무엇을 의미하는가?
우리가 프로그램을 통해 소통하는 대상은 운영체제이다.
(때문에 그에 맞는 언어로 명령을 내려야 하는 것)
그러면 운영체제는 하드웨어에 적절한 전기 신호를 준다.
쉽게 말해 우리가 컴퓨터와 소통하는 흐름은 크게
프로그램 > OS > 하드웨어
가 되는 것이다.
여기에서 약간의 문제가 발생하는데,
한번 운영체제에 맞게 만들어진 프로그램은 운영체제가 바뀌게 되면 작동하지 않는다는 것이다.
바로 이런게 플랫폼에 의존적이라는 것이다.
그렇다면 파이썬은 어떻게 플랫폼에 독립적일 수 있는 것일까?
파이썬 프로그램은 운영체제와 소통하는 단계에서 PVM을 중간에 끼고있다.
이 PVM은 파이썬 프로그램이 어떤 운영체제에서도 정상적으로 작동할 수 있게끔 도와주는
중간단계 역할은 한다는 것.
또한 파이썬은 객체 지향 언어이다.
이는 반복되는 소스코드를 하나로 묶어서 관리하기 편하게하는 언어라는 뜻인데,
이러한 특징이 파이썬의 생산성을 높여주는 특징인 것이다.
이렇게 파이썬 공부의 준비가 끝났다.
2. 인터프리터의 사용 방법과 기본 구조
아나콘다를 실행하면 기본적으로 이런 화면이 띄워지게 된다.
왼쪽 화면에 명령을 입력하면
오른쪽 하단 콘솔에 그 결과가 출력되는 방식이다.
먼저 기본적인 기능들에 대해 알아보았다.
1) 주석
각 줄 앞에 #을 붙이면 그 줄은 주석이 된다.
주석이 된 줄에 입력한 값들은 인터프리터가 해석하지 않는다.
이런 있으나 마나 한 줄을 왜 만들어야 할까
소스코드에 설명을 작성하고 싶을 때
지금 당장 사용하지 않는 코드가 있을 때
사용하게 된다.
공부하는 입장에서 아주 유용한 기능인 것 같다.
2) print
다음으로 간단한 문자들을 출력해보았다.
먼저, 내 이름을 출력하기 위해
print("김준재")
를 입력하고 실행기켜 보았다.
소스코드에 입력한대로 콘솔에 나타났다.
3)셀
다음은 셀을 만드는 방법에 대해 알아봤다.
#%% 셀 이름
이런식으로 입력하면 새로운 셀이 생성되는데
셀을 구분해두면 지정해둔 셀을 각각 실행할 수 있다.
이런식으로 첫 번째 셀을 지정하고 실행시키면
김준재
홍길동
이순신
이 출력되고
두 번째 셀을 지정하고 실행시켰더니
강감찬
을지문덕
장보고
가 출력되었다.
4) 변수
변수는 저장공간이다.
변수를 지정하는 방법은
x = 0
저장공간의 대입 값
이름 연산자 (상수)
간단하게 이런식인데 변수에서 등호는 '같다'라는 의미가 아니다.
위의 식을 해석해보자면
'x라는 이름의 변수에 0이라는 값을 넣어라'
라는 뜻이 된다.
변수를 지정하게 되면 작업의 편의성이 크게 올라가게 된다.
예를들어 내가 수십번의 나의 이름을 출력했다고 생각해보자
하지만 변수를 설정해두지 않은 채로 내가 아닌 다른 사람의 이름으로 변경을 해야 하는 상황이 온다면
수십번의 수정 작업이 필요할 것이다.
하지만 나의 이름을 변수로 지정해놓았다면
변수를 다른 사람의 이름으로 변경하는것 만으로
수십번의 작업을 대체할 수 있게 되는것이다.
->