TeamH4C_ProjectH4C/프로그래밍 언어

[TeamH4C_Python] 파이썬 지식과 입문

P4P3R_H 2021. 1. 19. 23:18

안녕하세요~ Hak2입니다😄

TeamH4C에서 진행하는 ProjectH4C의 기본 공통과정 중 Python입문입니다.

저는 길벗에서 제공하는 코딩도장 동영상을 보고 Python을 배우고 있습니다. 이 영상을 보고 정리한 내용이니 재미있게 읽어주시면 감사하겠습니다!

 

1. 기본지식

파이썬을 배우기 전 소프트웨어에 대해 간단하게 배우겠습니다.

소프트웨어의 산업이 발전하면서 많은 분야가 소프트웨어와 결합을 하고 있습니다. 앞으로 일상생활에 필수적인 분야가 될 것이며 모든 분야에 소프트웨어가 확장될 것으로 보입니다.

여기서 소프트웨어란? 간단하게 컴퓨터를 효율적으로 사용하기 위해 만들어진 기술 또는 집합체들입니다.

우리가 문제를 해결하기 위해서는 복잡한 문제들을 작은 문제로 분해하여 작은 문제부터 처리하는 방식으로 복잡한 문제를 해결해 나가는 것이 편리할 것입니다. 그런 현실의 문제를 분석하고 해결책을 찾는 것을 컴퓨테이셔널 씽킹이라하며 이렇게 정형화된 문제에 대해 검증된 해법을 제시하는 것을 알고리즘이라 합니다.

○ 컴퓨테이셔널 씽킹(Computational Thinking)은 문제를 분석하여 해결책을 찾는 과학적 사고기법이라 하며, 큰 문제를 작은 문제로 분해, 문제의 패턴을 인식, 이용 데이터가 무엇일지 결정을 합니다. 이렇게 설계한 해결책을 컴퓨터의 명령어로 작성하는 것을 컴퓨터 프로그래밍이라 합니다.

 알고리즘(Algorithm)은 문제를 해결해나가는 절차이며, 압축 알고리즘이 대표적인데 파일이나 데이터 등 압축하기 위한 기법입니다. 컴퓨터에서 흔히 볼 수 있는 jpg와 같은 확장자가 압축 알고리즘 중 손실 알고리즘을 구현한 포맷이라 할 수 있습니다. 원본의 파일의 용량을 줄이고자 이미지를 고의로 손실시켜 압축시키는 방법입니다. 반대인 비손실 압축 방법으로는 공간을 절약하기 위해 중복된 형식들끼리 묶어 반복된 횟수만큼 표시를 하여 공간을 절약하는데 이 기법을 RLE(Run-length encoding) 압축 기법이라 합니다.

그리고 이 알고리즘을 프로그래밍 언어의 명령(코드)으로 변환하여 표현하는 행동을 코딩이라고 합니다.

 

2. 파이썬의 배경

파이썬(Python)은 1991년 네덜란드의 프로그래머인 귀도 반 로섬이 발표한 프로그래밍 언어입니다. 1989년 크리스마스가 있던 주에 연구실이 닫혀 혼자 집에서 취미 삼아 파이썬을 만들었다고 합니다. ㅎㄷㄷ;;

Python이라는 이름은 귀도가 좋아하던 영국의 코미디 프로그램 <Monty Python's Flying Circus>에서 따온 것이며, 사전적 의미가 비단뱀이라는 뜻을 가지고 있어 로고와 아이콘이 뱀 모양으로 되어있습니다. 이 파이썬은 무료로 사용이 가능하고 배우기 쉬우며 문법이 간단하기에 개발 속도가 빨라 초보자, 교육기관, 전문가와 같이 사용자의 스펙트럼이 넓게 퍼져 활용이 이루어지고 있습니다.

 

3. 파이썬 설치

파이썬을 학습하기 위해서는 Python설치가 필수입니다. 파이썬은 호환성이 좋기에 Windows, Linux, macOS에서 설치가 가능합니다. 저는 현재 Windows시스템을 사용하고 있어 Windows10 OS에 Python을 설치하겠습니다.

1. 웹 브라우저에서 https://www.python.org/downloads에 접속하여 Download Python [버전]을 클릭하여 설치합니다.

2. 설치 화면이 나오면 Add Python [버전] to PATH를 클릭하여 활성시킨 후 Install Now클릭

  • (Add Python [버전] to PATH를 누르지 않고 설치 시)

  • 제어판 > 시스템 > 고급 시스템 설정 > 환경 변수(N) > [사용자 이름]에 대한 사용자 변수(U) > Path 선택 편집 > 새로 만들기 > Python경로 추가(Install Now 밑에 있던 경로) > 확인(적용)

3. Disable path length limit를 클릭하여 파일 길이 제한 해제 후 설치 완료

4. 파이썬이 정상 설치되었는지 IDLE 클릭하여 확인

  • 셸 정상 실행 시 설치 완료

5. 파이썬 작업 폴더 생성 (원하는 경로에)

6. 파이썬 설치가 모두 완료되었습니다.

 

4. 언어의 시작

파이썬 설치가 모두 정상적으로 완료되었습니다. 이제 파이썬의 첫 코드를 작성해볼 것입니다. 

프로그래밍 언어의 첫 관문, "Hello, world!"를 출력해보겠습니다.

IDLE를 실행하시면 셸에 >>>라고 표시가 될 것입니다. 이 부분에 아래와 같이 입력할 시 print안에 있는 내용이 출력될 것입니다. 

print('Hello, world!')

위와 같이 print는 출력을 시키는 함수로 유추할 수 있고, 출력하고자 하는 내용이 있다면 print() 함수 안에 '원하는 내용'과 같이 '(작은따옴표)로 묶어 문자열을 입력해주면 된다는 것을 알 수 있습니다.

더보기

----------------------------------------------------------------------------------------------------------------------------

※ 오류 발생 시

에러가 발생하실 수 있는데 [NameError : name... is not defined]와 같은 에러는 함수의 이름이 잘못되어 있어 에러가 발생한 것입니다. 파이썬은 대소문자를 구분하여 코드를 실행하기 때문에 정확하지 않은 상태의 대소문자는 에러가 발생하게 되는 원인을 제공합니다.

[SyntaxError : invalid syntax] [SyntaxError : EOL while scanning string literal]는 구문 오류로 구문이 규칙을 맞추지 못해 발생하는 오류로 잘못되어 있는 부분을 확인해야 할 것입니다. 함수(print) 안의 내용을 따옴표로 묶지 않은 것을 포함해서 확인해야 합니다. 구문의 규칙성을 맞추어 코드를 실행한다면 에러는 제거될 것입니다.

----------------------------------------------------------------------------------------------------------------------------

이렇게 코드를 실행한다는 것은 함수를 호출(call)한다는 뜻이고, 각 각 한 줄씩 실행하여 실행 결과를 얻는 방식을 인터프리터(Interpreter) 방식이라 합니다.  이와 상반된 방식은 컴파일러(Compiler) 방식입니다.

창안에 있는 부분들의 명칭은 IDLE에서 직접 코드를 입력하여 실행하는 창을 셸(Shell)이라 부르며 >>>부분은 프롬프트(prompt)라는 명칭을 가지고 있습니다.

더보기

----------------------------------------------------------------------------------------------------------------------------

※ 대화형 셸

파이썬 셸은 파이썬 인터프리터와 대화하듯이 코드를 처리한다 하여 대화형 셸(Interactive Shell) 또는 인터렉티브 모드(Interactive mode)라고도 합니다.

이런 방식을 코드를 읽고 평가(계산과 실행)를 하고 출력을 한다 하여 REPL(Read-Eval-Print Loop)라고 합니다.

----------------------------------------------------------------------------------------------------------------------------

IDLE의 파이썬 셸에서 코드 에러가 발생하였거나, 코드를 재사용하고자 할 시 ↑방향키를 눌러 이전의 코드로 쉽게 돌아가 엔터를 누르면 해당 코드를 수정 또는 사용이 가능하여 편리합니다.

이제 인터프리터 형식이 아닌 컴파일러 형식의 코드 작성을 보겠습니다. 코드를 작성하여 소스파일로 만들어 하나씩 처리하는 방식이 아닌 일괄 코드 실행방식입니다.

프로그래밍에서 코드에서 파일 형태로 저장한 것을 소스 코드 또는 소스 파일이라고 합니다. IDLE에서 소스 파일을 편집하고 실행하는 방법은 다음과 같습니다.

파이썬 셸에서 File을 누르고 New File을 찾아 클릭을 하게 되면 소스코드 편집창이 나오게 됩니다. 이 편집창에 소스코드(명령 줄)를 입력하고 Run Module 또는 F5를 클릭하면 소스코드 실행을 위한 저장이 필요하다고 나옵니다. 위에 파이썬 설치 과정의 5번 항목 폴더를 만든 곳에 저장을 하시게 되면 아래 그림처럼 소스파일이 실행되어 결과가 셸에 표시되게 됩니다. 이로써 코드를 원하는 길이만큼 작성하여 명령할 수 있게 되었습니다.

 

이제 명령 프롬프트에서 파이썬 셸 실행방법에 대해 알아보겠습니다.

먼저, CMD창(명령 프롬프트)을 열어 python을 입력하여 파이썬 셸을 실행할 수 있습니다.

  • 파이썬 셸이 실행이 안될 경우, 파이썬 설치의 2번 참고사항을 보시면 해결 가능합니다.

명령 프롬프트에서 파이썬 셸이 실행된 것을 볼 수 있습니다. 이 상태에서 코드를 작성하여 실행을 시키면 셸과 같은 결과를 얻는 것을 알 수 있을 것입니다.

셸에서 처럼 코드에 에러가 발생하였거나, 코드를 재사용하고자 할 시 ↑방향키를 누르면 이전 코드들이 순차적으로 표시되어 수정할 수 있습니다.

두 번째로, 명령 프롬프트에서 스크립트를 실행하는 방법을 알아보겠습니다. 위에서 저장한 소스파일을 사용할 것입니다.

명령 프롬프트에서 전에 만들어 두었던 py확장자가 있는 경로로 이동합니다.

아래 그림처럼 python [파일명].py를 입력하여 스크립트의 내용들을 실행시킵니다.

 

더보기

----------------------------------------------------------------------------------------------------------------------------

※ 리눅스에서의 소스코드 파일

리눅스에서의 소스코드 파일은 셔뱅(Shebang)이라는 것을 이용하여 파이썬을 실행시켜야 합니다.

소스코드 맨 앞줄에 아래와 같은 코드를 넣어줘서 실행시켜야 합니다.

#!/usr/bin/env python[버전]

print('Hello, world!')

----------------------------------------------------------------------------------------------------------------------------

 

5. 문장의 보조

세미콜론(;) : 많은 프로그램 언어에서는 한 구문이 끝날 때마다 세미콜론(;)으로 구문 구분을 해줬어야 했지만, 파이썬은 세미콜론(;)을 붙여도 되고 붙이지 않아도 됩니다. 단, 한 줄에 여러 구문을 작성할 때는 구분용으로 사용해줘야 합니다.

주석(comment) : 인터프리터가 처리하지 않아 프로그램 실행에는 영향을 받지 않아 컴퓨터가 인식하지 않고 사람만 알아볼 수 있도록 하는 보조문입니다. 주석에는 한 줄 주석과 블록 주석이 있으며 코드의 설명, 임시 코드를 적기도 합니다.

  • 한 줄 주석 : #을 사용하여 주석을 표시하며 #뒤에 있는 해당 줄의 내용은 주석이 됩니다.

  • 블록 주석 : 각 줄마다 #을 사용하여 블록처럼 앞의 줄이 이어져있는 주석, 블록 주석 사용 시 #뒤에 한 칸을 띄우는 게 관습적입니다.

  • 한글 사용 : python3에서는 파이썬 스크립트 파일의 기본 인코딩이 UTF-8로 되어있습니다. 다른 인코딩으로 저장 후 실행 시 에러 발생

들여 쓰기 : 코드를 읽기 쉽도록 일정 간격을 띄워 작성하는 방법입니다. 파이썬은 들여 쓰기가 문법이므로 if문과 같은 코드에서는 들여 쓰기를 항상 해야 문법 에러가 발생하지 않습니다.

  • 들여 쓰기는 공백(2칸), (4칸), 탭(tab) 등 여러 가지 방법이 있지만, 보통 공백 4칸을 사용합니다.

코드 블록 : 특정한 동작을 위해 코드가 모여있는 상태입니다. 들여 쓰기를 기준으로 코드 블록을 구성합니다.

if a == 10:
    print('10')
    print('입니다.')

위와 같이 a라는 변수가 10이라는 상수를 가질 때, '10'과 '입니다'를 같은 선상에 있어 '10'과 '입니다'를 짝을 지은 것과 같습니다. 여기서 필수적으로 같은 블록의 들여 쓰기의 칸 수는 같아야 하고, 탭과 공백을 섞어 사용하면 안 됩니다.

 

6. 정리

1. Hello, world! 를 출력하는 방법

  • print('Hello, world!')

2. 콘솔에서 스크립트 파일 실행방법

  • python 파일명.py

3. Hello, world! 와 Python Programming이 출력되도록 코드 작성

  • print('Hello, world!)
  • print('Python Programming')