Python40 7-2. 제너레이터(Generator)와 yield 키워드 안녕하세요! 지난 시간에는 리스트와 딕셔너리 내포 표현식의 심화 활용법을 통해 코드를 더욱 간결하고 효율적으로 작성하는 방법을 알아보았습니다. 이제 여러분의 파이썬 코딩 생산성이 한 단계 더 높아졌을 거예요!이번 시간에는 파이썬에서 메모리 효율적인 데이터 생성을 가능하게 하는 특별한 기능인 **제너레이터(Generator)**와 이를 만드는 핵심 키워드인 **yield**에 대해 알아보겠습니다.제너레이터는 모든 데이터를 한꺼번에 메모리에 올려놓지 않고, 필요할 때마다 하나씩 값을 '생성'하여 반환하는 방식입니다. 마치 주문이 들어올 때마다 붕어빵을 하나씩 구워주는 붕어빵 장수와 같다고 생각하시면 됩니다. 이는 특히 대량의 데이터를 다룰 때 메모리 사용량을 획기적으로 줄여줄 수 있습니다.Part 1: 제너.. 2025. 7. 3. 7-1. 리스트/딕셔너리 컴프리헨션 심화 안녕하세요! 지난 시간에는 객체지향 프로그래밍(OOP)의 마지막 개념인 추상 클래스와 인터페이스에 대해 알아보았습니다. 이제 여러분은 프로그램을 더욱 체계적이고 확장 가능하게 설계하는 방법을 이해하셨을 거예요.이번 시간부터는 파이썬의 고급 문법과 실전 예제들을 통해 여러분의 코딩 실력을 한 단계 더 높여보겠습니다. 그 첫 번째 주제는 바로 리스트/딕셔너리 내포 표현식(Comprehension)의 심화 활용입니다.이전에 '3-6. 리스트/딕셔너리 내포 표현식'에서 기본적인 사용법을 배웠지만, 내포 표현식은 단순한 반복문을 넘어 더욱 복잡한 조건과 중첩 구조를 간결하게 표현할 수 있는 강력한 기능입니다. 이 심화 내용을 익히면 여러분의 코드가 훨씬 더 "파이썬스럽고(Pythonic)" 효율적으로 변할 것입니.. 2025. 7. 2. 6-7. 캡슐화와 접근 제한자 개념 안녕하세요! 지난 시간에는 상속(Inheritance)과 다형성(Polymorphism)을 통해 코드를 재사용하고, 다양한 객체들이 유연하게 동작하도록 만드는 방법을 알아보았습니다. 이제 OOP의 강력한 장점들을 조금씩 느끼고 계실 거예요.이번 시간에는 객체지향 프로그래밍의 또 다른 중요한 원칙이자, 데이터의 안전성과 코드의 유지보수성을 높이는 데 필수적인 개념인 **캡슐화(Encapsulation)**와 파이썬에서의 접근 제한자(Access Modifiers) 개념에 대해 알아보겠습니다.캡슐화는 데이터와 그 데이터를 다루는 기능을 하나로 묶고, 외부로부터 데이터를 보호하는 것을 의미합니다. 그럼, 캡슐화가 무엇이고, 파이썬에서 이를 어떻게 구현하는지 함께 살펴볼까요?Part 1: 캡슐화 (Encapsu.. 2025. 7. 2. 6-6. 오버라이딩과 super() 안녕하세요! 지난 시간에는 객체지향 프로그래밍(OOP)의 핵심 원칙인 상속(Inheritance)과 다형성(Polymorphism)에 대해 알아보았습니다. 자식 클래스가 부모 클래스의 속성과 메서드를 물려받고, 다양한 객체들이 동일한 이름의 메서드에 대해 각자의 방식으로 동작하는 것을 배웠죠!이번 시간에는 다형성을 구현하는 주요 방법이자, 상속에서 매우 중요한 개념인 **오버라이딩(Overriding)**과, 부모 클래스의 기능을 자식 클래스에서 호출할 때 사용되는 특별한 함수 **super()**에 대해 더 깊이 알아보겠습니다.Part 1: 오버라이딩(Overriding) - 부모의 메서드를 자식에서 재정의하기오버라이딩은 자식 클래스가 부모 클래스로부터 물려받은 메서드와 동일한 이름으로 메서드를 다시 .. 2025. 7. 1. 6-5. 상속과 다형성 안녕하세요! 지난 시간에는 클래스 변수, 정적 메서드, 클래스 메서드와 같이 클래스 수준에서 데이터를 관리하고 행동을 정의하는 다양한 방법에 대해 알아보았습니다. 이제 여러분은 클래스를 더욱 세밀하게 설계하고 활용할 수 있게 되었을 거예요!이번 시간에는 객체지향 프로그래밍(OOP)의 핵심 원칙 중 두 가지인 **상속(Inheritance)**과 **다형성(Polymorphism)**에 대해 자세히 알아보겠습니다. 이 두 가지 개념은 OOP의 강력함을 가장 잘 보여주는 요소이며, 코드 재사용성, 확장성, 그리고 유연성을 극대화하는 데 필수적입니다.상속은 "기존 것을 물려받아 확장하는 것"이고, 다형성은 "하나의 형태가 여러 다른 동작을 하는 것"이라고 비유할 수 있습니다. 그럼, 이 두 가지 개념이 어떻게.. 2025. 7. 1. 6-2. 생성자(__init__)와 인스턴스 변수 안녕하세요! 지난 시간에는 객체지향 프로그래밍(OOP)의 가장 기본적인 개념인 클래스(Class)와 객체(Object)에 대해 알아보았습니다. 클래스가 객체의 설계도라면, 객체는 그 설계도로 만들어진 실제 사물이었죠.하지만 지난번 Person 클래스로 객체를 만들었을 때는 모든 객체가 똑같았습니다. 각각의 붕어빵(객체)이 팥 붕어빵, 슈크림 붕어빵처럼 서로 다른 속성(데이터)을 가질 수 있도록 하려면 어떻게 해야 할까요?이번 시간에는 클래스로 객체를 만들 때 초기값을 설정하는 특별한 메서드인 **생성자(__init__)**와, 객체 고유의 데이터를 저장하는 **인스턴스 변수(Instance Variable)**에 대해 자세히 알아보겠습니다. 이 둘은 객체의 개성을 부여하는 핵심 요소입니다.Part 1: .. 2025. 6. 29. 이전 1 2 3 4 5 ··· 7 다음