SK플래닛 ai활용 데이터엔지니어 과정 2기/파이썬

파이썬 - 문법공통_타입(1)

dev-lee 2026. 2. 27. 20:42

주석

  • 명칭
    • 코멘트(comment)
      • 코드에 관여하지 않음.
    • 코드에 관한 설명, 개발자 멘트 등
    • 주석 -> 해석 -> AI가 코드 자동완성 스타일 제공
    • 문서화 작업 시 중요한 부분
      • 문서 자동화 -> Swagger 등 툴 제공(fastapi는 기본 설치하면 자동 처리)
  • 문법
  # 1줄 주석

  '''
   여러 줄 주석
   원래는 문자열인데, 주석처럼 활용함.
   함수, 클래스 내부에 1열에 위 주석으로 사용하면 함수 ,클래스 사용 시 툴팁으로 주석 제공

   def add(x,y) :
   '''
   더하기 함수. 함수 1열에 넣었기 때문에 함수 주석이 되어 툴팁 제공함.
   '''
  '''

 

def add(x,y):
   '''
   더하기 함수. 함수 1열에 넣었기 때문에 함수 주석이 되어 툴팁 제공함.
   parameters
    - x : 첫번째 입력값
    - y : 두번째 입력값

   returns
    - x+y, 더한 값을 반환
   '''
   return x+y
#함수/클래스명 ( 까지 작성하면 자동 툴팁으로 제공됨
add(1,2)

결과값 : 3

 

 

  • 타입 힌트(어노테이션) -> 주석(강제성은 없지만 고급진 기능임.)
    • 변수 어노테이션
     score = 10
     #어노테이션 적용, score 변수는 정수값만 받는다는 타입 힌트 주석.
     score : int = 10
    • 함수 어노테이션
    • 클래스 어노테이션
    • git에 프로젝트 업로드 시 사용하면 유용

 

변수

  • 목적
    • 데이터를 담는 그릇(기초적 기본 해석)
    • 데이터를 가리키는 참조값을 가진 그릇
    • 변수를 통해서 데이터에 접근할 수 있다
  • 특징
    • 변수가 가진(참조)하는 데이터는 다른 값(다른 타입 등)으로 대체될 수 있음
      • 유형
        • 1 -> 2 : 동일 타입 (O)
        • 1 -> "1" : 다른 타입 (O)
        • 단, 동일 타입만 유지하고 싶다면 어노테이션 표기하고 가이드.(강제성은 없음.)
      • 예약어, 내장함수 등 사전에 정의된 함수명, 키워드, 변수 등에 데이터 변경 시도를 하면 안됨. print 같은 단어를 변수명으로 쓰지 말 것.
# 변수 = 값
# a라는 변수에 1이라는 값을 담았다.
# a라는 변수는 1이라는 값(메모리 상에 어딘가 존재함)을 참조한다.
a = 1

# 대화형 창에 변수를 넣고 실행하면 참조하는 값을 출력함
a

결과값 : 1
# 변수에 도트연산자를 붙이면 함수 사용 가능(a.)-> 객체라는 의미
# 파이썬의 모든 구성은 객체로 구성된다고 할 수 있음
a.
1.
#1도 객체다!!

결과값 : 0
# a라는 변수는 이제 2를 참조한다.
a = 2

# type : 내장함수. 내장함수는 바로 사용 가능함.
# type(변수) : 변수가 참조하는 데이터의 타입을 출력함.
a, type(a)

결과값 : (2, int)
# a라는 변수는 문자열 "hi"을 참조한다.
a = "hi"
a, type(a)

결과값 : 'hi', str
  • 모든 변수 자체의 메모리적 크기는 동일하다 (참조값(메모리 주소)만 가지면 됨)
  • 결론
    • 파이썬 변수의 타입은 값이 세팅될 때 결정된다
    • 타입 추론형
      • python, javascript
        # 자바스크립트 샘플
        var a = 1
      
      • <-> C/C++, java : 변수 선언 시 타입이 결정됨
        # 자바 샘플
        int a = 1;

상수

 

  • 변수(변하는 값) <-> 고정밧(불변) : 상수
    • 파이썬 상수 x
  • 상수처럼 사용
    • 관습
      • 변수명을 모두 대문자로 표기
      • 의미론적으로 부여, 실제는 변수임
        • 수정하면 안된다는 의미를 내포함
      • 환경변수(env), 학습 시 고정값
  • 단, typing 패키지를 통해서 우회 처리 가능함
PI = 3.14
# 변수명이 길어지면 _로 연결 (스네이크 표기법)
MAX_POOL_SIZE = 100

리터럴

  • 타입의 기본값(시그니처 표현)
  • 숫자 리터럴
    • 정수 : 0(10진수), 0b(2진수), 0o(8진수), 0x(16진수)
    • 부동소수 : 0.0
  • 문자열 리터럴 -'', "", '''....''', """...."""
  • 불린 리터럴
    • True, False
  • 특수 리터럴
    • None, NaN
  • 컬렉션 리터럴
    • list, dict, tuple, set
  • 특징
    • True를 제외한 모든 리터럴은 조건식에서 False를 반환함 -> 조건식을 간결하게 표현할 수 있음

 

네이밍컨벤션

 

 

  • 관습적 표현, 회사 문화임
  • 이름 짓는 규칙
  • 대상
    • 변수명, 함수명, 클래스명
  • 스타일
    • 파이썬
      • 스네이크 표기법 (단어 간 _로 연결함)
      • 소문자로 표기
      • ex) your_name
    • 자바
      • 카멜 표기법
      • 첫글자는 소문자, 이어지는 단어의 첫번째 글자는 대문자
      • ex) yourName
      • 클래스명
        • 첫글자 대문자, 이어지는 글자 소문자, 추가되는 단어는 첫글자 대문자
  • 구성
    • 첫글자
      • 알파벳(각국 문자), _ 가능
    • 이후 글자
      • 숫자도 가능해짐
    • 기타 특수문자는 사용하지 않는 것이 좋음. 
a = 1
_ = 2
a10 = 3

# 시작을 숫자로 했기 때문에 에러임
#1a = 10

#각국 문자
스코어 = 100


  • 기타
    • 이름의 길이는 상관없음. 적당히 쓰면 됨.
    • 데이터가 가지는 의미를 변수명에 나타내야 좋음.

 

statement(표현식) 끝표식

 

  • 완전한 코드 한 줄이 완성되면 표현하는 표식
    • 대부분의 언어는 ;활용
    • 파이썬은 생략이 일반적, 사용해도 ok
      • 한 줄에 여러 표현식이 나열될 때 사용
print(1); print(2); print(3)

결과값 :
1
2
3

 

 

 

수치형

 

정수형 : int

 

  • 특징
    • .... -1, 0, 1, ....
    • 간격 : 1(양)
    • 데이터 특성 상 이산형, 순서형 등으로 표현될 수 있음
      • ex) 나이, 리뷰 평점(1~5)
# 변수명은 의미있게 네이밍 해야함
age = 100 # 10진법 표현
age

결과값 : 100
# 진법 예시
0b10101010, 0o512, 0xff

결과값 : (170, 330, 255)

부동소수 : float

 

  • ....0.0....
  • 값과 값 사이의 간격 : 무한대
  • 연속형 데이터 -> 회귀문제 등 대표적인 데이터(원주율 등)
 

 

기타 표현

# 변수값 나열
# 여러 개의 변수를 한 번에 초기화 할 수 있음
a, b, c = 10, 11, 12 # 분해

b

결과값 : 11

 

a, b, c = (10, 11, 12) # 튜플 -> 단순히 값을 묶는 역할

b

결과값 : 11

 

_, b, _ = (10, 11, 12) # _는 받고 버리기. 변수로 사용하지 않겠다는 의미(자리만 채우는 것)

_

결과값 : 12

 

#일반 연산자 동일하게 작동하는가?
a = 1
b = 2

a+b, a-b, a*b, a/b, a%b, a//b

결과값 : (3, -1, 2, 0.5, 1, 0)