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__
'현대오토에버 모빌리티 sw 스쿨 3기 [클라우드] > PYTHON' 카테고리의 다른 글
| Python 강의 2일차 / 현대오토에버 모빌리티 SW 스쿨 / 클라우드반 (0) | 2026.01.03 |
|---|---|
| OOP. Python 강의 / 모빌리티 SW 스쿨 / 클라우드반 (0) | 2025.12.23 |