• with open('hello.pickle','rb') as f: data = pickle.load(f)print(type(data))print(data)data()Serialization , Deserialization , Pickle이번 글은 나중에 사용하기 위해 Python 객체를 저장하는 방법을 알아보고자 한다.피클링(Pickling)은 식품의 수명을 보존하거나 연장하는 과정이다.그 결과로 만들어진 음식을 피클(pickle)이라고 하고, 단어의 모호함을 피하기 위해, pickled 라는 형용사를 사용한다.데이터 처리 결과를 나중에 사용하기 위해 저장하는 것을 생각해 본 적 있을까 ?결과를 유지하는 가장 간단한 방법은 일반 텍스트 파일을 생성하고 결과를 저장하는 것이다.이는 매우 간단한 방법이나,..

  • Copy변수를 사용하지 않고 어떤 종류의 데이터 처리도 수행하는 Python 코드를 작성하는 것은 상상하기 어렵다.변수는 객체를 다루는 데 있어서 필수적인 요소로,변수와 객체, 그리고 이를 복사하는 방법에 대해 알아보자.a_list = [1, 'Hi', 10.1]a_list : 변수 또는 레이블= : 대입 또는 참조[1, 'Hi', 10.1] : 객체할당 명령문이 사용되고 있으므로, 오른쪽에 대한 평가가 왼쪽에 대한 평가보다 우선하게된다.아래와 같은 동작으로 이해해야한다.먼저 컴퓨터 메모리에 객체(a_list)가 생성된다. 이 객체는 고유성을 갖고 있다.그러면 객체는 다른 객체들로 채워진다. 이제 객체는 값을 가지게 된다.마지막으로 레이블이나 이름 바인딩으로 취급해야하는 변수가 생성되고, 이 레이블은 컴..

  • Exception파이썬이 스크립트를 실행하고 처리할 수 없는 상황이면 다음과 같은 현상이 일어난다.프로그램을 중지한다.Exception 이라는 특별한 종류의 데이터를 생성한다. 물론 Exception은 객체이다.이 두가지 활동 모두 예외 발생(raising an exception) 이라고 한다.Python은 코드에 어떤 작업이 필요한지 전혀 모를 때 항상 예외를 발생한다라고 할 수 있다.다음으로 어떤 일이 벌어질까 ?발생한 예외는 누군가 또는 무언가가 이를 알아차리고 처리할 것으로 기대한다.발생한 예외에 대한 처리가 이루어지지 않으면 프로그램은 강제종료되고 Python에서 콘솔로 오류메세지를 보낸다.그렇지 않을 경우, 예외가 적절히 처리되어 중단되었던 프로그램을 다시 시작할 수 있고, 실행을 계속할 수..

  • Python은 모든 Python 내장 클래스의 속성을 상속하는 클래스를 생성하여 부모 클래스의 속성이나 메서드를 강화할 수 있는 새로운 클래스의 기능을 제공한다. 결과적으로 새로 생성된 클래스는 부모 클래스 또는 부모클래스에서 상속받은 기능들을 사용 할 수 있고, 이러한 속성과 메서드에도 계속 접근할 수 있다. 나중에 선택한 메서드에 대한 자체 수정 사항을 제공하여 메서드를 재정의 할 수 있다.# built-in classesclass IntergerList(list): @staticmethod def check_interger(value): if type(value) is not int: raise ValueError('int 타입 아님') def __setitem__(sel..

  • 상속 (Ingeritance)지금까지 클래스를 모델링 하기 위해 상속(Inheritance)의 개념을 사용하였다.상속은 객체 지향 언어에서 가장 중요한 기반중의 하나로, 부모 클래스와 자식 클래스라고 하는 파생 클래스간의 긴밀한 관계를 모델링 하는 훌륭한 개념이다.이러한 관계들의 결과로 기본 클래스들은 모든 메서드와 속성을 상속하는 하위 클래스이며,하위 클래스는 상속된 모든 것을 확장(extend) 할 수 있다.또 이러한 클래스들은 밀접하게 결합 되어있다고 한다.(Classes are tightly coupled.) 상속 모델은 is -a 관계라고도 불린다.a Laptop is a (specialized form of) Computer.a Square is a (specialized form of) Fi..

  • 속성 캡슐화 (Attribute encapsulation)캡슐화는 객체 지향 프로그래밍(상속, 다형성, 추상화와 함께)의 기본 개념중 하나이다.클래스 내에서 속성과 해당 속성에 적용되는 메서드를 묶는 개념을 설명한다. 캡슐화 (Encapsulation) 캡슐화는 캡슐처럼 클래스 내부 속성을 숨겨 권한이 없는 사용자가 직접 접근하지 못하도록 하는데 사용된다.클래스에는 공개적으로 접근 가능한 메서드를 제공하여 접근할 수 있고,다른 객체는 이러한 메서드를 호출하여 객체 내부 값을 가져오고 수정한다.이를 통해 속성에 대한 일정 수준의 프라이버시를 강화할 수 있다. 해당 이미지를 보면 Method를 통해 접근하는 것을 보여주고 있다.이는 프록시 처럼 동작하는 메서드를 항상 호출하여 속성에 대한 일부 작업을 수행하..

  • Copyright 2024. GRAVITY all rights reserved