파이썬 코칭스터디 1기 - 모두를 위한 파이썬(PY4E) 1강 (소개)

태온·2021년 7월 16일
0
post-thumbnail

1. 소개

1. 왜 프로그래밍을 배워야 할까? 🤔

컴퓨터 프로그램을 만드는 행위(프로그래밍)는 매우 창의적이며 향후 뿌린 것 이상으로 얻을 것이 많다. 프로그램을 만드는 이유는 어려운 자료분석 문제를 해결하려는 것에서부터 다른사람의 문제를 해결해주는데 재미를 느끼는 것까지 다양한 이유가 있다.

모든 사람이 어떻게 프로그램을 만드는지 알고, 프로그램이 알게 되면, 새로 습득한 프로그래밍 기술로 하고자 하는것을 해결할 수 있게 된다.

우리의 일상은 노트북에서부터 스마트폰까지 다양한 종류의 컴퓨터에 둘러싸여 있다. 이러한 컴퓨터를 우리를 위해서 많은 일을 대신해 주는 편한 "개인비서"로 생각한다. 일상생활에서 컴퓨터의 하드웨어는 우리에게 "다음에 무엇을 하면 좋겠습니까?" 라는 질문을 지속적으로 던지게 만들어 졌다.

프로그래머는 운영체제와 하드웨어에 응용 프로그램을 추가했고 많은 것들을 도와주는 개인 휴대 정보 단말(Personal Digital Assistant, PDA)로 진화했다.

만약 사용자 여러분이 컴퓨터에게 "다음 실행해"를 컴퓨터가 이해할 수 있는 언어로 명령을 할 수 있다면, 컴퓨터를 더 효율적으로 사용할 수 있다. 컴퓨터 언어를 알고 있다면, 반복적인 작업을 사람을 대신해서 컴퓨터에 지시할 수 있다.

예를 들어, 책에서 단어를 찾으려고 할 때 사용자가 찾기에는 너무 양이 방대하다. 하지만 컴퓨터에게 내가 원하는 단어를 찾는다는 것을 알려주면 사람에게는 너무 어려운 일이고 시간이 오래 걸리지만 컴퓨터에게는 매우 쉬운 작업이다.

사람이 잘하지 못하는 점을 컴퓨터가 잘할 수 있다는 사실을 이해하면 왜 "컴퓨터 언어"로 컴퓨터와 대화해야 하는데 능숙해야하는지 알 수 있다. 컴퓨터와 대화할 수 있는 새로운 언어(Python)를 배우게 되면, 지루하고 반복되는 일을 컴퓨터가 처리하고, 사람에게 적합한 일을 하는데 더 많은 시간을 할애할 수 있다. 그래서, 여러분은 직관, 창의성, 창의력을 컴퓨터 파트너와 함께 추진할 수 있다.


2. 컴퓨터 하드웨어 내부 구조 🖥️

소프트웨어 개발을 위해 컴퓨터에 지시 명령어를 전달하기 위한 컴퓨터 언어를 학습하기 전에, 컴퓨터가 어떻게 구성되어 있는지 이해할 필요가 있다. 컴퓨터 혹은 핸드폰을 분해해서 안쪽을 살펴보면, 다음과 같은 주요 부품을 확인할 수 있다.

  • 중앙처리장치(Central Processing Unit, CPU)

    컴퓨터 시스템을 통제하고 연산을 처리하는 가장 핵심적인 장치이다. 인간의 뇌와 가장 비슷한 기능을 하며 처리능력이 매우 뛰어나다. 다만 뇌처럼 지능을 가진 것은 아니다.

  • 주 기억장치(Main Memory)

    중앙처리장치(CPU)가 급하게 명령어를 처리하는데 필요한 적은 양의 정보를 저장하는 용도로 사용된다. 속도는 매우 빠르지만 컴퓨터를 종료하면 사라지는 휘발성 메모리이다. (ex. RAM)

  • 보조 기억장치(Secondary Memory)

    정보를 저장하기 위해 사용되지만, 주 기억장치보다 속도는 느리다. 컴퓨터가 종료되어도 정보를 기억한다. 즉, 지우지 않는 이상 정보를 계속해서 가지고 있다. (ex. SSD, HDD)

  • 입출력장치(Input Output Devices)

    입력장치 : 사람에 의해 정보를 입력받는 기기들 (ex. 키보드, 마우스, 터치 스크린)
    출력장치 : 처리된 정보의 결과를 보여주는 기계 (ex. 화면, 스피커, 프린터)

프로그래머는 대체로 CPU와 "대화"하여 다음으로 무엇을 실행하라고 지시한다. 프로그래머는 컴퓨터의 "다음 무엇을 수행할까요?"에 대한 답을 하는 사람이기도 하다. 하지만, 컴퓨터에 답하기 위해서 5mm 크기로 프로그래머를 컴퓨터에 집어넣고 초당 30억개 명령어로 답을 하게 만드는 것은 매우 불편하다. 대신에 미리 컴퓨터에게 수행할 명령문을 작성해야 한다. 이렇게 미리 작성된 명령문 집합을 프로그램(Program)이라고 하며, 명령어 집합을 작성하고 명령어 집합이 올바르게 작성될 수 있도록 하는 행위를 프로그래밍(Programming)이라고 부른다.


3. 파이썬(Python)이란?

파이썬(Python)은 1990년 암스테르담의 귀도 반 로섬(Guido Van Rossum)이 개발한 인터프리터 언어이다. 귀도는 파이썬이라는 이름을 자신이 좋아하는 코미디 쇼인 "몬티 파이썬의 날아다니는 서커스(Monty Python’s Flying Circus)"에서 따왔다고 한다.

인터프리터란 한 줄씩 소스 코드를 해석해서 그때그때 실행해 결과를 바로 확인할 수 있는 언어이다.

파이썬은 다른 프로그래밍 언어보다 비교적으로 쉽게 느껴진다. 그 이유는 인간이 쓰는 언어와 가장 비슷하며 문법이 쉬워 빠르게 배울 수 있다. 또, 무엇보다 간결하다.


4. 예약어, 순차문, 조건문 및 반복문

• 예약어

컴퓨터 프로그래밍 언어에서 이미 문법적인 용도로 사용되고 있기 때문에 변수의 이름이나 식별자로 사용할 수 없는 단어들을 예약어라고 한다.

변수란 하나의 값을 저장할 수 있는 저장공간이다. 즉, 자신만의 단어를 작성하는 이름이다.

파이썬의 예약어는 다음과 같다.

예를 들어, 변수의 이름을 파이썬의 예약어와 같은 단어(while)로 한다면 컴퓨터는 파이썬의 예약어(while)로 이해하고 내가 원래 정했던 변수로 인지하지 못한다. 그래서 다음과 같이 예약어에 없는 변수로 지정해주는 것이 좋다.

x = 2 # x라는 이름의 변수에 2를 할당합니다.
x = x + 2 # x라는 변수에 x라는 변수가 가지고 있던 값에 2를 더해서 할당합니다.
print(x) # x라는 변수가 가지고 있는 값을 출력합니다.

🙃 프로그램 흐름 제어

1. 순차문

코드가 처음 줄부터 차례대로 실행되는 경우

x = 2 
print(x) # 2를 출력
x = x + 2
print(x) # 4를 출력

2. 조건문

어떤 조건이 참일 경우에만 실행하도록 하는 것이다. 여기서 예약어인 if를 사용한다. if 조건문이 참인 경우 들여쓰기가 되어 있는 코드 부분이 실행되게 된다.

x = 5
if x < 10: 
  print('Smaller') # Smaller가 출력됩니다.
if x > 20: 
  print('Bigger')
print('Finis') # Finis가 출력됩니다.

3. 반복문

주어진 조건(n>0)이 참인 경우에는 들여쓰기 되어 있는 부분이 계속 실행 된다. 그렇지 않은 경우 실행을 종료하게 된다. 이 부분에서 컴퓨터는 인간보다 더 나을 수행 능력을 보이게 된다.

n = 5
while n > 0:
  print(n) # 5,4,3,2,1을 출력합니다.
  n = n - 1
print('Blastoff!') # Blastoff를 출력합니다.

📕 참고

모두를 위한 파이썬 (PY4E)

profile
코딩도시락(배워서 남 주자)

0개의 댓글