현대오토에버 모빌리티 sw 스쿨 3기 [클라우드]/PYTHON

Python 강의 1일차 / 모빌리티 SW 스쿨 / 클라우드반

맹꽁이+ 2026. 1. 3. 10:08

1. 파이썬의 기본 문법

1) 구성 요소

  • Literal: 개발자가 직접 입력한 데이터, 읽기 전용, 공유하는 데이터
  • Constant(상수):  변하지 않는 데이터
  • Variable(변수): 데이터를 재사용하기 위해서 데이터를 저장한 공간에 붙인 이름
  • Function(함수 – Method): 자주 사용하는 코드를 이름만으로 사용할 수 있도록 묶어 놓은 것
  • Class(클래스)와 Instance(객체 – Object): 동일한 목적을 위한 데이터 와 기능은 묶어 놓은 것으로 이 안에 선언된 데이터 와 기능은 클래스와 객체를 통해서만 사용
  • Module(모듈): 여러 구성 요소들을 묶어 놓을 수 있는 것으로 하나의 파일
  • Package(패키지): 관련 있는 모듈의 모임으로 압축된 형태나 디렉토리 형태로 제공되는데 파이썬의 라이브러리 배포 및 설치 단위
  • 번역하지 않는 문장으로 # 다음에 입력하면 되는데 대부분의 용도는 코드에 대한 설명
  • Mutable 과 Immutable
    • Mutable: 변경 가능한이라는 의미로 변경이 가능하기 때문에 동시에 사용할 때 주의
    • Immutable: 변경 불가능한이라는 의미로 변경이 불가능하기 때문에 동시에 사용해도 아무런 문제가 발생하지 앟음


2) 코딩 규칙

  • 라인 단위로 번역해서 실행하므로 한 줄에 하나의 명령이 있다면 종료 부호는 필요하지 않음
  • 하나의 라인에 2개 이상의 실행 문장을 사용할 때 문장을 구분하기 위한 용도로 ;을 사용
  • 코드의 구조(Block)를 정의하기 위해 들여쓰기를 사용
  • 코드의 정렬과 구성이 엄격하게 제한되는데 네 칸를 들여쓰는 것이 표준이지만 프로그래머가 들여쓰기의 규칙을 정할 수 있음
  • 하위 레벨에 코드를 작성할 때는 반드시 앞 절의 마지막에 :을 추가
  • console에 내용을 출력하고자 하는 경우는 print(내용)의 형태로 출력할 수 있으며 여러 내용을 출력할 때는 ,로 구분해서 출력

3) 주석(Comment)

  • 컴파일러나 인터프리터가 해석하지 않는 문장
  • 파이썬에서 한 줄 주석은 # 기호 뒤에 작성하는데 # 기호 뒤에 있는 문자열은 실행을 할 때 무시
  • 어떤 특정 구역을 문자열로 만들어서 실행되지 않도록 하려면 """ 에서 """ 까지 큰 따옴표(쌍 따옴표) 3개를 사용해서 묶으면 되며 작은 따옴표도 가능한데 이 구문은 주석을 만드는 것이 아니고 문자열 상수를 만들어서 아무 일도 하지 않는 것처럼 보이도록 함
  • #! 기호는 주석이 아니고 유닉스 Shebang(프로그램으로서 실행) 
    # -*- coding: cp949 -*- 는 Encoding 지정문(윈도우에서는 cp949, ms949 나 euc-kr 그 이외의 운영체제에서는 utf-8로 지정)
  • Encoding & Decoding
    • Encoding: 문자를 컴퓨터에 저장할 수 있는 코드로 변경하는 작업
    • Decoding: 컴퓨터에 저장된 코드를 출력하기 위해서 문자로 변경하는 작업

 

4) 콘솔에 출력

  • print(dir(자료형 또는 데이터))를 호출해서 자료형이나 데이터가 사용 가능한 속성이나 함수의 목록을 확인
    =>함수나 클래스의 도움말을 확인하고자 하는 경우에는 help(도움말을 얻고자 하는 함수나 클래스 또는 객체 이름)
    str은 파이썬에서 제공하는 문자열 클래스

 

5) Literal

  • 사용자가 직접 입력하는 데이터
  • 정수:  scala, immutable
    • 십진수: 19
    • 이진수: 0b숫자
    • 8진수: 0o숫자
    • 16진수: 0x숫자
  • 실수:   scala, immutable
    • 3.141517
    • 0.314e1
    • 사용할 때 주의: 정확하지 않을 수 있음
  • bool(boolean)
    • True
    • False
  • 가리키는 것이 없다.:  None(유사한 표현으로  null, nil, 결측)
  • 문자열(str)
    • 한 줄은 ' ' 나  " " 사이에 작성
    • 여러 줄은  ''' ''', """ """ 사이에 작성
    • sequence  이고  immutable(전체 데이터는 변경할 수 있지만 부분 데이터 수정은 안됨)
  • bytes
    • byte의 집합
    • b"코드 또는 내용"
    • 파일에 기록하거나 파일의 내용을 읽을 때 사용
  • list
    • [ ] 안에 데이터를 나열
    • sequence  이고  mutable
    • 테이블 구조에서 보면 하나의 열
    • 모든 종류의 데이터를 전부 사용할 수 있지만 특별한 경우가 아니면 동일한 형태의 데이터만 저장
  • tuple
    • ( ) 안에 데이터를 나열
    • sequence  이고  immutable
    • 테이블 구조에서 보면 하나의 행
    • 모든 종류의 데이터를 전부 사용할 수 있는데 전체 데이터가 하나의 데이터를 의미합니다.
  • set
    • { } 안에 데이터를 나열
    • mutable
    • 중복된 데이터를 제거합니다.
  • dict
    • {키:값, 키:값.. } 안에 데이터를 나열
    • mutable
    • 키를  set 으로 생성
  • 제어문자
    • \: 다음에 영문자 한자를 추가해서 특별한 의미를 갖도록 해주는 문자
    • 모든 언어 공통
      • \n(줄바꿈), \t(탭), \\(\), \', \" 등


6) 파이썬의 예약어 확인

📍예약어 목록 출력

import keyword
print(keyword.kwlist)

# 예약어에 숫자 집어넣으면 용도가 달라짐
# ex)print(dir(str))
# str = 500
# print(dir(str))
# ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
# ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_count', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'is_integer', 'numerator', 'real', 'to_bytes']

 

7) 연산자

  • 데이터를 조작하는 기호나 명령어
  • = : 오른쪽의 데이터를 저장한 공간에 왼쪽의 이름을 부여하는 것 또는 왼쪽의 이름이 부여된 공간에 데이터의  id(hash code, 구별하기 위한 값)를 대입하는 것
    • a = 1: 1이라는 데이터를 저장하고 그 저장된 공간의  id를 a 가 가리키도록 하는 것
  • + 는 동일한 자료형끼리 사용할 수 있는 연산자로 숫자는 더하기를 하고 컨테이너는 결합을 합니다.
    함수 이름으로는 __add__