모두를 위한 파이썬

수민·2022년 8월 16일
0

개발

목록 보기
34/45

CPU(Central Processing Unit)
프로그램을 실행합니다. CPU는 항상 다음에 무엇을 하지라고 물어봅니다. 인간의 뇌처럼 지능을 가진 것은 아니고 처리능력이 매우 뛰어납니다.

입력 장치
사람에 의해 정보를 입력받는 기기들입니다. 예를 들어 키보드, 마우스, 터치 스크린입니다.

출력 장치
처리된 정보의 결과를 보여주는 기계입니다. 예를 들어 화면, 스피커, 프린터, DVD 기록기 입니다.

메인 메모리

적은 양의 정보를 저장하는 장치이며, 속도는 매우 빠르지만 컴퓨터를 종료하면 사라지는 휘발성 메모리입니다.

보조 기억장치
지우지 않는 이상 정보를 계속해서 가지고 있습니다. 예를들면, SSD, HDD가 되겠지요.

각각의 관계

CPU는 계속해서 다음에 무엇을 할지 물어 봅니다. 이것에 대한 답변은 사람이 하며, 답변들의 목록이나 순차적으로 진행되어야 할 사항들을 파이썬 언어로 작성한 뒤 보조 기억장치에 저장합니다. CPU의 질문에 답변을 해야 하는 순간이 오면 메인 메모리에 해당 내용을 로드 합니다. 이 과정에서 2진수로 만들어져 있는 기계어로 마법처럼 변환이 되며 이는 컴퓨터가 이해할 수 있는 언어로 전달 되게 됩니다. 그 후 내부적으로는 1초에 수십억번(CPU에 성능에 따라 달라집니다)에 걸쳐 질문과 답변이 이루어 지게 됩니다.

프로그래밍을 하면서 여러분은 문법 에러를 보게 될 것입니다.

문법 에러라는 것은 여러분의 프로그래밍 실력을 탓하기 보다는, 컴퓨터가 파이썬 해당 코드 블럭을 이해하지 못했으며, 자세한 설명을 해달라는 도움의 요청이라고 생각해야 합니다.

파이썬은 정확하게만 내용을 전달해준다면 누구보다 성실하게 여러분이 원하는 목적을 달성할 수 있도록 도와줄 것입니다.

예약어와 문장 만들기

파이썬이 예상해놓은 몇가지 단어들이 있습니다. 우리는 이를 예약어 라고 합니다. 예약어는 약속된 단어이기 때문에 변수의 이름이나 식별자로 사용할 수 없습니다. 이와 같은 단어들을 조합해 우리는 아래와 같은 문장을 만들 수 있습니다.

프로그래밍 방법 - 상호대화식, 스크립트식

하나의 프로그램을 위해서는 많은 수의 문장이 필요합니다. 커맨드라인에서 코드를 한줄씩 실행하는 방법은 상호대화식(Interactive) 이라고 합니다.

상호대화식 방법은 즉각적인 결과 확인에는 유리하지만 코드가 길어질 경우에는 스크립트 방식(여러줄을 한번에 작성하는 방식)이 훨씬 효과적입니다.

상호대화식 방법으로 작성 시 실수를 하게 된다면 다시 처음부터 작성해야 하는 상상하기 싫은 일이 발생합니다.

그래서 우리는 스크립트 형태로 작성하고 이 파일을 보조 기억장치에 저장 한 뒤 한 번에 실행시켜 처리하게 됩니다.

프로그램의 흐름 제어

크게 3가지 방법이 존재합니다.

1. 순차문

코드가 처음 줄부터 차례대로 실행되는 경우입니다. 짧고 단조로운 코드만 짤 수 있습니다.

2. 조건문

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

  1. 반복문

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

상수(Constants)

상수는 값이 변하지 않습니다.

예약어(Reserved Words)

파이썬이 정한 의미로만 쓰이는 특별한 단어입니다. 예를 들어, 파이썬이 if라는 예약어를 만나게 되면 조건문을 실행하게 됩니다.

예약어의 종류는 첨부된 링크에서 확인하세요.

변수(Variables)

우리는 메모리에 사람이 이해 할 수 있는 변수명으로 원하는 데이터를 넣을 수 있는 공간을 확보 할 수 있습니다.

x, y : 메모리에 할당된 변수의 이름
= : 할당자이며 해당 변수에 특정 값을 넣어주는 역할을 합니다. (화살표로 생각하세요.)
12.2, 14 : 값이며 해당 변수에 우리가 넣은 값입니다.
변수로 선언 한뒤 해당 변수에 넣을 수 있는 값은 바꿀 수 있습니다.

변수의 이름을 정하는 규칙

반드시 문자 또는 underscore( )로 시작합니다. (숫자로 시작할 수 없습니다.)
문자와 숫자 underscore(
)를 포함할 수 있습니다.
읽는 사람이 읽기 편하도록 변수명을 정하는 것이 중요합니다.

파이썬은 3가지 케이스를 모두 동일하게 인지하지만 코드를 읽는 사람 입장에서는 세번재 케이스가 가장 이해하기 쉬울 것입니다.

할당문 (Assignment Statements)

대입문은 오른쪽 표현의 결과를 왼쪽의 변수에 저장하는 것으로 구성되어 있습니다.

수리 연산자 표현

컴퓨터 키보드에 있는 수학 기호들의 부족으로 우리는 제한적인 몇 가지의 수리 연산자들을 사용할 수 있습니다.

연산자의 순서

일반적인 연산자들을 수행하게 되는 순서는 다음과 같습니다.

괄호 -> 거듭 제곱 -> 곱셈, 나눗셈 -> 덧셈, 뺄셈 -> 왼쪽에서 오른쪽으로

과 같은 순서로 진행되게 됩니다.

타입이란?

파이썬에서는 여러가지 데이터 타입들이 있습니다. 파이썬은 영리하게도 우리가 연산하고자 하는 데이터의 타입에 따라 동일한 연산자를 사용하더라도 다른 결과를 가져 옵니다.

예를 들어, 동일한 + 연산자를 사용하더라도 정수, 부동 소수점 수 타입의 변수에서는 덧셈으로 작용하고 문자열 타입의 변수에서는 문자열을 이어주는 기능을 하게 됩니다.

만약 우리가 타입이 다른 변수에 대해 연산을 하게 되면 파이썬은 오류 메시지를 띄워 자신에게 정확히 알려달라고 요청합니다. 파이썬은 타입에 민감하기 때문에 이 부분에 대해서 명심해야 합니다.

값이나 변수의 타입을 알고 싶을 때 우리는 type() 을 이용해 해당 객체의 타입을 알 수 있습니다.

여러가지 숫자 타입

주요한 숫자 타입에는 두 가지가 있습니다. int (정수) 타입과 float (부동 소수점 수) 타입입니다. -1, 0, 1과 같은 정수들은 int 타입이며, -1.5, 0.0, 1.5 같은 부동 소수점 수들은 float 타입입니다.

타입 변환

파이썬에는 타입을 변환할 수 있는 함수가 내재되어 있기에 간단반 방법으로 타입을 변환할 수 있습니다.

변환시키고 싶은 타입 형식으로 감싸주면 타입이 바뀌게 됩니다.

예를 들어, i 라는 변수를 정수 타입으로 선언했다고 합시다.

만약 i 변수를 부동 소수점 수 타입으로 바꾸어 저장하고 싶다면 f = float( i ) 로 적어주면 됩니다.

입력

print()를 통해 출력을 했다면 input()을 이용해 입력을 받을 수 있습니다.

주석

컴퓨터에게 명령을 내리는 파이썬 코드 이외에 사람이 알아보도록 적는 것을 주석이라고 합니다.

위에 보이는 것처럼 # 기호를 사용하게 되면 주석을 달 수 있습니다.

컴퓨터는 주석을 무시하고 지나가기 때문에, 실행시키고 싶은 코드에 주석 표시 (#) 를 달지 않도록 주의하세요.

If 문

if문의 기본적인 형태는 아래와 같습니다.

비교 연산자

조건문의 참 또는 거짓을 판별하기 위해 사용되는 비교 연산자들이 있습니다. 아래와 같은 비교 연산자들을 사용합니다.

들여쓰기 (indentation)

파이썬에서는 들여쓰기를 매우 엄격하게 생각합니다.

들여쓰기가 제대로 되어 있지 않다면 파이썬은 문법 에러를 통해 우리에게 도움을 요청하게 됩니다.

조건문에서 x가 가진 값이 10보다 작기 때문에 Smaller가 출력되겠죠?

하지만, 들여쓰기를 제대로 하지 않았기 때문에 파이썬은 아래와 같이 들여쓰기 에러를 통해 들여쓰기가 잘못되었어! 라고 이야기해줍니다.


**단일 if 문, if else 문

단일 if 문**


if else 문

첫번째 조건문의 조건이 거짓인 경우에 대해 처리하기 위해 우리는 else를 사용할 수가 있습니다.

즉, 첫번째 if문의 조건이 거짓인 경우 else문 이하의 실행코드가 실행됩니다.

**조건문(if, else)을 사용할 때에는 주의할 점이 2가지 있습니다.

조건문 후에 : (콜론) 을 찍어야 한다.
조건문이 참일 경우 실행할 코드는 들여쓰기를 해야한다. **

다중 분기 (Multi-way decisions)

우리는 하나의 조건문 블럭에 프로그래머의 필요에 의해 조건문들을 추가할 수 있습니다.

elif라는 예약어를 통해서 가능합니다.

try / except

파이썬에서는 발생할 수 있는 error에 대해서 프로그래머가 미리 대처를 할 수 있도록 하였습니다. 이는 try / except로 가능합니다.

예를 들어 사용자가 입력값으로 숫자만 넣어야 하는 경우 문자를 넣었을 때 프로그램이 종료 되고 멈출 것이 아니라, 올바른 입력값을 넣도록 하는 것이 합리적인 방법이겠죠.

profile
헬창목표

0개의 댓글