본문 바로가기

Code/Python7

Python 클래스 톺아보기_2편(속성 접근 제어와 관리, 상속, 믹스인) Python 클래스 속성 접근 제어와 관리, 상속, 믹스인오늘은 지난 1편에 이어 Python 클래스 속성 접근 제어와 관리, 상속, 믹스인에 대해 알아보려고 한다.클래스의 기초와 매직메서드를 정리해둔 1편을 먼저 보는것을 권장한다!1. 클래스 속성 접근 제어python에서는 Java나 C++과 같은 언어처럼 엄격한 접근 제어자(private, protected 등)가 없지만, 네이밍 컨벤션과 속성 디스크립터를 통해 속성에 대한 접근을 제어할 수 있다.1-1. Public (공개 속성)일반적으로 클래스 내부에서 정의된 속성은 기본적으로 공개(public)이다. 즉, 어디서든 접근이 가능하다.class Person: def __init__(self, name, age): self.name.. 2025. 3. 16.
Python 클래스 톺아보기 _ 1편 알고리즘을 대대적으로 개발하면서 Python 클래스를 제대로 활용해야 할 일이 많아졌다. 그런데 문득 의문이 들었다. 과연 나는 파이썬을 충분히 활용하고 있는가? 어언 3년째 파이썬을 써오고 있지만, 여전히 "이 기능 뭐였더라?" 하고 문서를 찾아보는 일이 많다. 특히 클래스의 특별 메서드(매직 메서드)와 고급 기능들은 막상 필요할 때 기억이 나지 않는다. 그래서 이번 기회에 클래스의 모든 것을 총정리한 나만의 위키를 만들기로 했다! 3월 2주차까지 총 3편으로 정리할 예정이며, 기본 개념부터 고급 기능까지 파이썬 클래스를 깊이 탐구해볼 계획이다. 📌 연재 계획1편 - 기초와 매직 메서드2편 - 속성 접근 제어와 관리 그리고 상속과 믹스인3편 - 클래스 데코레이터와 메타클래스 이 글을 읽고 나면, 파이.. 2025. 2. 28.
파이썬의 스케쥴러, sched 파이썬의 표준 라이브러리의 일부인 sched 모듈에 대해 알아보자. sched 모듈이란 파이썬에서 제공하는 이벤트 기반의 스케줄링을 위한 간결하고 효과적인 도구이다. 모듈은 특정 시간에 실행되어야 하는 함수나 작업을 예약하는 기능을 제공하며, 주로 단일 스레드 환경에서 사용되는 특징을 가지고 있다. 사용자는 sched.scheduler 클래스를 활용하여 스케쥴러 객체를 생성하고, 만들어진 객체를 활용하여 이벤트를 관리하고, 스케쥴링한다. 스케쥴러 객체 스케쥴러 객체는 스케줄을 위해 시간에 관한 함수를 필요로 한다. class sched.scheduler(timefunc=time.monotonic, delayfunc=time.sleep) 언제 이벤트를 실행할지, 얼마나 대기할지를 알려주기 위함이다. 대개 .. 2024. 2. 4.
[python] 이중리스트 할당을 조심하세요! 오늘 코드를 짜다 아주아주 화가 나는 오류를 겪다가 드디어 이유를 알아냈다. 너무 기본적인 실수라 너무 부끄럽지만 다시는 안하기 위해 공개 처형...😂 다음과 같이 이중 for문을 사용하는데 계속 같은 값이 동시에 들어가는 것이다!!!! x = [[]]*5 for i in range(5): for j in range(3): x[i-1].append(j) 문제는 바로 리스트 선언에 있었다. x = [[]]*5 for i in range(5): print(id(x[i])) 모든 내부 리스트의 주소값이 같았던 것! 이중 리스트 할당은 무조건... 리스트 컨프리헨션으로 합시다... x = [[] for i in range(5)] for i in range(5): print(id(x[i])) 정신차리기... 2023. 7. 5.