본문 바로가기

분류 전체보기11

Python __slots__ Python은 객체의 속성(변수)을 관리하기 위해 Dictionary를 사용합니다.Dictionary는 메모리를 많이 차지하는데, 많은 객체를 생성하게 되면 그만큼 많은 Dictionary를 사용하게 되므로 많은 메모리를 사용하게 되어 시스템에 부담을 줄 수 있다. 아래 코드의 결과처럼  user.__dict__를 통해 Python은 객체의 속성을 관리하기 위해 Dictionary를 사용하는 것을 확인할 수 있다. class User: def __init__(self, id, name, pwd): self.id = id self.name = name self.pwd = pwd def __str__(self): return f'{self... 2023. 1. 15.
Python 타입 어노테이션 Part2 2022.12.31 - [Programming/python] - Python 타입 어노테이션이전 글에서 Python 타입 어노테이션에 대해 기본 내용을 소개하였다.이번 글에서는 typing 모듈을 사용한 타입 어노테이션 내용에 대해 알아볼 것이다. typing 모듈Python의 typing 모듈은 standard 라이브러리에 있다. (Python Version >= 3.5) Python의 기본 타입 어노테이션 문법을 통해서 int, str, list, 사용자 정의 class 등 다양한 타입을 지원한다.하지만 기본적인 타입 힌트만 지원하고, Python의 내장 자료구조인 list, tuple, set 등과 같은 자료구조 내의 Type 지정 혹은 여러 개의 타입이 허용될 수 있는 타입의 지정,.. 등은 어렵.. 2023. 1. 1.
Python 타입 어노테이션 Part1 Python은 변수와 함수에 타입을 지정할 수 있는 타입 어노테이션(Type Annotation) 기능이 있다. (Version >= 3.5)※ 실제로 코드가 작동하는 데에는 달라지는게 없으며(에러를 발생시키지 않음), IDE를 통해 타입 불일치에 대해 알려주고 자동완성 기능 제공을 한다. 동적 타입 언어Python은 기본적으로 동적 타입 언어이다.즉, 아래와 같이 프로그램 실행 중에 변수의 타입을 동적으로 바꿀 수 있다는 말이다. (C, C++, Java 등의 언어에서는 변수 선언 시에 타입을 지정하기에 변경 불가) var = 20221231print(type(var))# var = "20221231"print(type(var))#  언뜻 보면 이런 동적 타입 언어가 무조건 좋아 보이지만 프로젝트가 커.. 2022. 12. 31.