[Python] 01장 파이썬 시작하기

Ko Gun·2025년 7월 15일

Python

목록 보기
1/1

⚠️ 주의: 이 글은 자바를 공부하면서 개인적으로 정리한 글입니다.
친절한 설명보다는 개념 정리 중심이니 참고용으로만 활용해주세요.


01. 파이썬이란?

Python 설치하기

파이썬 설치하는 내용은 따로 다루지 않겠습니다.
해당 사이트를 참고해주시면 좋을 것 같습니다.
https://www.python.org/downloads/

파이썬으로 작성된 코드를 실행해 주는 프로그램을 인터프리터(Interpreter)1라고 한다.

1💬 TMI : 인터프리터(Interpreter)란?

영어로 "해석기"란 의미를 가지고 있으며, 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말한다.

우리가 보통 쓰고 있는 컴퓨터 프로그래밍 언어는 인간이 알아보고 쓰기 쉽게 만들어진 고급 언어이다. 그렇기에 컴퓨터가 이해하고 처리 가능한 기계어라고 하는 저급 언어로 바꾸는 작업이 필요하다.

이러한 작업을 수행하는 방법 중 프로그램 언어를 해석하고 번역하는 방식에 따라 2가지로 나누는데 이를 컴파일러(Compiler)인터프리터(Interpreter)라고 한다.


컴파일러(Compiler)

컴파일을 수행하는 프로그램을 컴파일러(compiler)라고 한다.
이 컴파일은 프로그램의 작성된 모든 코드를 한꺼번에 기계어로 바꾸어 처리하는 방식이다.


인터프리터(Interpreter)

반면, 인터프리터(Interpreter)는 프로그램 코드를 한 줄씩 번역하여 기계어로 바꾸는 작업이다.


인터프리터의 특징과 컴파일러와의 차이점
인터프리터의 가장 큰 특징이 프로그램을 한 줄씩 번역하는 과정을 거치는 것이기에, 대부분의 다른 특징에 이에 기반하여 수반된다. 인터프리터는 한 줄 명령어 단위에서 각 코드 한 줄이 {함수}인 경우가 많기에 인터프리터 언어를 "함수 언어"라 부르기도 한다.

인터프리터에서 명령어 한 줄 각각이 너무 단순하기도 하지만 때론 그 한 줄의 구조가 매우 복잡하고 기능을 위한 코드가 전부 담겨있을 수 있다. 객체지향적 언어는 아니지만 그에 준하는 객체지향적 성격을 가지도록 개발될 수 있다.

컴파일러는 번역 시 바이트코드라는 목적 파일이 생성되어 컴파일이 완료되는 반면, 인터프리터는 목적 파일을 생성하지 않는다. 그렇기 때문에 추가적인 메모리 사용이 없다는 특징이 있다.
소스코드를 한줄씩 번역하기에 실행 속도 면에서는 컴파일러보다 느리지만 컴파일러보다 프로그램 수정이 간단하며, 한 줄씩 실행되기 때문에 디버깅 과정이 간단하다.


02. 파이썬에서 자주 나오는 용어 정리

2.1. 키워드(Keyword)

키워드(Keyword)는 파이썬에서 이미 예약되어있는 문자열로서 다른 용도로 사용이 불가능한 문자열이다.

키워드설명
False불 값(False)을 나타내는 리터럴
None아무 값도 없음을 나타내는 리터럴
True참 값(True)을 나타내는 리터럴
and논리 곱(and) 연산자
or논리 합(or) 연산자
not논리 부정(not) 연산자
is동일성(identity) 비교 연산자
in포함 여부 확인 연산자
if조건문 시작 키워드
elifif 다음의 추가 조건 분기
else모든 조건이 False일 때 실행되는 블록
for반복문(for-each) 시작 키워드
while조건 기반 반복문 시작 키워드
break반복문을 즉시 종료
continue반복문의 현재 반복만 건너뛰고 다음 반복으로 이동
def함수를 정의하는 키워드
return함수에서 값을 반환
lambda익명 함수를 정의하는 키워드
import모듈을 가져오는 키워드
from모듈에서 특정 이름만 가져오는 키워드
as가져온 모듈이나 예외에 별칭(alias) 지정
class클래스를 정의하는 키워드
try예외 처리 블록 시작 키워드
except예외 발생 시 처리 블록
finally예외 발생 여부와 상관없이 항상 실행되는 블록
raise예외를 강제 발생
with컨텍스트 매니저 사용 시 블록 진입/종료 관리
pass아무 동작도 하지 않는 플레이스홀더 문장
del객체 참조를 삭제
global함수 내부에서 전역 변수 사용을 선언
nonlocal중첩 함수에서 외부 함수의 변수를 사용·수정할 때 선언
match구조 분해 패턴 매칭(PEP 634) 시작 키워드
casematch 블록 내에서 패턴별 분기

2.2. 식별자(identifier)

2.2.1. 식별자(identifier)란?

식별자(identifier)는 변수, 상수, 함수, 사용자 정의 타입 등에서 다른 것들과 구분하기 위해서 사용되는 변수의 이름, 상수의 이름, 함수의 이름, 사용자 정의 타입의 이름 등 '이름'을 일반화 해서 지칭하는 용어이다.
사용자가 임의로 지정하며 이름만 보아도 뜻을 알 수 있도록 지정하는 것이 좋다.

2.2.2. 식별자(identifier) 명칭의 작성 스타일

변수나 함수명 같은 식별자(identifier)의 명칭을 작성할 때 이름을 정의하는 것도 코딩 스타일 중 일부이다. 대표적인 표기법은 다음 네 가지가 있다.

  • 카멜 표기법 (Camel Case)
    여러 단어를 연달아 사용할 때 각 단어의 첫 글자를 대문자로 적되, 맨 앞에 오는 글자는 소문자로 표기하는 것이다. 낙타의 등에 있는 혹과 같다고 하여 카멜(Camel) 표기법이라고 부른다. Java의 권장 표기법이다.
    예) camelVariable, firstName, lastName

  • 파스칼 표기법 (Pascal Case)
    단어의 모든 앞글자를 대문자로 표기하는 것이다. 카멜 표기법이 단봉낙타라면 파스칼은 쌍봉낙타라고 비유할 수 있다.
    예) PascalVariable, FirstName, LastName

  • 헝가리안 표기법 (Hungarian Notation)
    접두어에 자료형을 붙이는 표기법이다. 요즈음은 잘 사용하지 않는 스타일이다. 언어의 종류가 다양한 만큼 자료형도, 문서 데이터도 다양해졌기 때문에 접두어가 의미를 잃었다.
    예) strName, bBusy, szName

  • 스네이크 표기법 (Snake Case)
    단어 사이에 언더바를 넣어서 표기하는 방법이다. 하지만 _ 이나 __로 시작되는 식별자는 많은 언어에서 확장으로 예약되어 있는 경우가 많으므로 사용하지 않는 것이 관례이다.

대부분의 경우 카멜 표기법과 파스칼 표기법을 적절하게 조합하여, 변수명이나 함수명은 카멜 표기법을 따르고 클래스명은 파스칼 표기법을 따르는 스타일이 주를 이룬다. 전자는 Java, 후자는 C++에서 주로 볼 수 있는 스타일이다. 언어에 따라 전부 카멜 또는 전부 파스칼 표기법을 권장하기도 한다.

2.2.3. 식별자 작성 규칙

  • 식별자는 소문자 (a ~ z) 또는 대문자 (A ~ Z) 또는 숫자 (0 ~ 9) 또는 밑줄 (_)의 조합입니다.
  • myClass, var_1및 print_this_to_screen 모두 유효한 예입니다.
  • 식별자는 숫자로 시작될 수 없습니다. 1variable무효이지만 variable1완벽하게 괜찮습니다.
  • 키워드는 식별자로 사용할 수 없습니다.
  • !, @, #, $, % 등 특수 기호는 우리 식별자에서 사용할 수 없습니다.
  • 식별자의 길이는 제한이 없습니다.
  • 파이썬은 대소 문자를 구별하는 언어입니다. 이는, Variable과 variable동일하지 않습니다.
  • 의미있는 식별자의 이름을 항상 지정하십시오.
💬 TMI : Style Guide for Python Code

코드 배치

  • 들여쓰기는 공백 4칸을 권장한다.
  • 한 줄은 최대 79자까지 허용한다.
  • 최상위(top-level) 함수와 클래스 정의 전후에는 2줄씩 띄워 쓴다.
  • 클래스 내의 메소드 정의 전후에는 1줄씩 띄워 쓴다.

표현식과 구문의 공백

다음과 같은 곳의 불필요한 공백은 피한다.
  • 대괄호([])와 소괄호(()) 안의 공백
  • 쉼표(,), 쌍점(:)과 세미콜론(;) 앞의 공백
  • 키워드 인자(keyword argument)와 기본값(default parameter value) 사이의 =는 붙여 쓴다.

주석

  • 코드와 모순되는 주석은 없느니만 못하다. 항상 코드에 따라 갱신해야 한다.
  • 불필요한 주석은 달지 않는다.
  • 한 줄 주석은 신중히 단다.

이름 지정 규칙

  • 변수명에서 밑줄(_)은 위치에 따라 다음과 같은 의미를 가진다:
    - 한 개의 밑줄로 시작: 내부적으로 사용되는 변수
    - 한 개의 밑줄로 종료: 파이썬 키워드와 충돌을 피하려고 사용
    - 두 개의 밑줄로 시작: 클래스 속성으로 사용
    - 두 개의 밑줄로 종료: 네임스페이스 조정용 속성
        
  • 소문자 l, 대문자 O, 대문자 I는 변수명으로 사용하지 않는다.
  • 모듈(Module) 명은 짧은 소문자로 구성하며, 필요하다면 밑줄로 나눈다.
    - 모듈은 파일 시스템의 영향을 받으므로 주의한다.
    - C/C++ 확장 모듈은 밑줄로 시작한다.
        
  • 클래스명은 카멜케이스(CamelCase)로 작성한다.
    - 내부용 클래스명은 앞에 밑줄을 붙인다.
    - 예외(Exception) 클래스명은 실제 에러인 경우 “Error”를 뒤에 붙인다.
        
  • 함수명은 소문자로 구성하되, 필요하면 밑줄로 구분한다.
    - 대소문자 혼용은 기존 하위호환을 위해 이미 흔히 쓰이는 경우에만 허용한다.
        
  • 메소드명은 함수명과 같으나, 비공개(non-public) 메소드나 변수인 경우 앞에 밑줄을 붙인다.
    - 서브 클래스 이름 충돌을 막기 위해서는 밑줄 2개를 앞에 붙인다.
        
  • 상수(Constant)는 모듈 단위에서만 정의하며, 모두 대문자로 작성하고 필요하면 밑줄로 나눈다.

📚 참고 사이트

profile
Software Engineer | Computer Vision

0개의 댓글