분류 전체보기 (654) 썸네일형 리스트형 [ Python ] 클래스 내에서 멤버 변수 선언하기 (지역/전역) 파이썬 클래스에서 내부에서만 접근 가능한 변수(속성)와 외부에서 접근 가능한 변수를 선언하는 방법에 대해 설명하겠습니다.외부에서 접근 가능한 변수클래스 내에서 외부에서 접근 가능한 변수는 보통 인스턴스 변수로 정의되며, self를 사용하여 선언합니다. 이러한 변수는 클래스 인스턴스가 생성될 때 설정되며, 객체를 통해 외부에서도 접근할 수 있습니다.class MyClass: def __init__(self, public_var): self.public_var = public_var # 외부에서 접근 가능한 변수obj = MyClass("Hello")print(obj.public_var) # 출력: Hello내부에서만 접근 가능한 변수 (프라이빗 변수)파이썬에서는 진정한 의미의 "프라이.. [ Python ] Class 의 method ( 멤버 함수) 정의하기 파이썬 클래스의 메서드는 객체의 동작을 정의하는 함수입니다. 클래스 내부에 정의된 함수로, 객체의 상태를 변경하거나 특정 작업을 수행할 수 있습니다. 메서드는 기본적으로 객체 인스턴스와 연결되어 있어, 객체 상태(속성)에 접근하거나 수정할 수 있습니다.메서드의 종류인스턴스 메서드 (Instance Method)객체의 인스턴스에서 호출되는 메서드입니다.메서드 정의 시 첫 번째 인수로 self를 받으며, 이는 호출한 객체 자체를 가리킵니다.클래스 메서드 (Class Method)클래스 자체에서 호출되는 메서드입니다.메서드 정의 시 첫 번째 인수로 cls를 받으며, 이는 호출한 클래스 자체를 가리킵니다.@classmethod 데코레이터를 사용하여 정의합니다.정적 메서드 (Static Method)클래스나 인스.. [ Python ] 클래스의 선행 참조 문제 분서과 해결 방법 파이썬에서 클래스의 "선행 참조" 문제는 클래스 정의 내부에서 해당 클래스의 이름을 참조하려고 할 때 발생할 수 있는 문제입니다. 이는 주로 클래스 내부에서 클래스 자체의 이름을 이용하여 속성이나 메서드를 정의하려 할 때 발생할 수 있습니다.문제 설명파이썬에서는 클래스가 정의되는 동안 그 클래스 이름은 아직 전역 심볼 테이블에 등록되지 않은 상태입니다. 그래서 클래스 정의 내부에서 그 클래스 이름을 바로 참조하려 하면 에러가 발생할 수 있습니다.예제 1: 직접 참조 시도class Node: left: Node right: Node def __init__(self, value): self.value = value self.left = None self... [ Python ] 객체 생성시 __init__, __new__ 의 다른점 설명과 사용하기 Python에서 객체를 생성할 때 __init__ 메서드와 __new__ 메서드는 중요한 역할을 합니다. 이 두 메서드는 객체 초기화 및 생성 과정에서 다르게 사용되며, 각각의 역할을 이해하는 것이 중요합니다.__new__ 메서드역할: 객체의 메모리를 할당하고, 새 객체를 생성하는 역할을 합니다.호출 시점: 클래스의 인스턴스가 생성될 때 가장 먼저 호출됩니다.메서드 서명:def __new__(cls, *args, **kwargs): # 객체 생성 및 반환주요 특징:__new__ 메서드는 클래스 메서드로, cls를 첫 번째 인자로 받습니다. 이는 객체가 아닌 클래스를 가리킵니다.보통 부모 클래스의 __new__ 메서드를 호출하여 실제로 객체를 생성합니다.만약 __new__가 객체를 생성하지 않으면 _.. [ Python ] 클래스 변수와 인스턴스 변수에 대해서 알아보기 클래스와 인스턴스 변수는 Python에서 객체 지향 프로그래밍의 중요한 개념입니다. 두 개념 모두 클래스의 속성을 정의하지만, 그 역할과 사용 방법에는 차이가 있습니다.클래스 변수 (Class Variable)클래스 변수는 클래스 자체에 속하는 변수로, 클래스의 모든 인스턴스 간에 공유됩니다. 클래스 변수는 클래스 정의 내부에서, 메서드 밖에서 정의됩니다.특징:모든 인스턴스가 동일한 클래스 변수를 공유합니다.클래스 이름을 통해 접근하거나, 인스턴스를 통해 접근할 수 있습니다.예제:class Dog: species = "Canis familiaris" # 클래스 변수 def __init__(self, name, age): self.name = name # 인스턴스 변수 .. [ Python ] shelve 패키지를 사용해서 파일에 저장하고 읽기 shelve 패키지는 Python에서 객체를 파일에 저장하고, 파일에서 객체를 쉽게 읽어오는 기능을 제공합니다. pickle과 유사하지만, shelve는 dict와 비슷한 인터페이스를 제공하므로 키-값 쌍으로 데이터를 관리할 수 있습니다.shelve을 사용한 파일 쓰기shelve을 사용하여 데이터를 파일에 저장하는 방법은 매우 간단합니다. open() 함수를 사용하여 shelf 객체를 생성하고, 이 객체를 통해 키-값 쌍을 파일에 저장할 수 있습니다.import shelve# 데이터를 저장할 파일 열기 (쓰기 모드)with shelve.open('mydata') as shelf: shelf['name'] = 'Alice' shelf['age'] = 30 shelf['is_student'].. [ Python ] pickle를 사용하여 데이터를 읽고 쓰기 pickle 패키지는 Python 객체를 파일에 저장하거나 파일에서 읽어오는 데 사용됩니다. pickle은 객체를 바이트 스트림으로 직렬화(serialize)하고, 다시 원래의 객체로 역직렬화(deserialize)할 수 있습니다.pickle을 사용한 파일 쓰기 (저장)객체를 파일에 저장하려면 pickle의 dump() 메서드를 사용합니다. 이 메서드는 지정된 파일에 객체를 직렬화하여 저장합니다.import pickle# 예제 데이터: 딕셔너리 객체data = {'name': 'Alice', 'age': 30, 'is_student': False}# 데이터를 저장할 파일 열기 (쓰기 모드)with open('data.pickle', 'wb') as file: pickle.dump(data, file.. [ Python ] struct를 사용해서 little/big endian으로 파일 읽고 쓰기 struct 패키지는 Python에서 바이너리 데이터를 다룰 때 매우 유용한 도구입니다. 이 패키지를 사용하면 데이터를 특정한 바이트 순서(endianness)로 직렬화하거나 직렬화된 데이터를 파싱할 수 있습니다. 이 패키지의 핵심 기능 중 하나는 데이터의 바이트 순서를 지정할 수 있다는 것입니다.엔디언(Endianness) 개념엔디언은 멀티바이트 데이터를 메모리에 저장할 때 바이트의 순서를 정의하는 방식입니다.빅 엔디언 (Big Endian): 가장 중요한 바이트(Most Significant Byte, MSB)가 가장 앞에 오며, 가장 덜 중요한 바이트(Least Significant Byte, LSB)는 가장 뒤에 위치합니다. 인간이 숫자를 읽는 방식과 비슷합니다.리틀 엔디언 (Little Endi.. 이전 1 ··· 37 38 39 40 41 42 43 ··· 82 다음