inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

모두를 위한 파이썬 : 필수 문법 배우기 Feat. 오픈소스 패키지 배포 (Inflearn Original)

Meta Class(2)

클래스변수 외에, 인스턴스 변수(self._attr1)를 type으로 선언하는 방법이 있나요?

258

sbson

작성한 질문수 6

0

type을 이용해 동적으로 클래스 생성 시, 클래스 변수는 dct 위치에 딕셔너리 형태로 넣으면 생성되는 것을 알았습니다.
 
그렇다면 인스턴스 변수 (즉, 통상 class 선언시 self._attr1 과 같이 선언되는 변수)는 type을 이용해서도 선언이 가능한가요? 가능하다면 어떻게 할 수 있는지요?
 
감사합니다.

인스턴스변수 python 클래스변수

답변 1

0

좋은사람

강의 중에 나옵니다. type 으로 클래스 생성시 아래 예제 등으로 변수 초기화가 가능합니다.

Bar = type('Bar', (Foo,), dict(attr=100)) 

0

sbson

안녕하세요.

말씀대로 변수 초기화는

type('Bar', (Foo,), dict(attr=100)) 

처럼 하는 것은 강의를 통해서 이해했습니다.

다만, 위에서 'attr'은 "클래스 변수"로 알고 있습니다.

그래서 "인스턴스 변수"의 경우, 선언 및 초기화 하는 방법을 알고 싶습니다.

 

예를 들어 아래 클래스의 경우,

type ('Car', (), dict(car_count=0))

과 같이 하면, car_count(클래스 변수)는 선언 및 초기화가 될텐데,

self._company의 경우는 선언 및 초기화 할 방법을 모르겠어서요.

==================================================

class Car():

 

    # 클래스 변수

    car_count = 0

 

    def set_car_maker(self, company):

        # 인스턴스 변수

        self._company = company

==================================================

위의 Car() 클래스 같이 인스턴스 변수가 있는 경우는, type 함수로 class 만들기는 어려운 것인가요?

 

감사합니다.

강의자료가 모두 동일한 PPT 입니다. 잘못 등록된것 같습니다.

0

70

2

나만의 패키지 만들기(1) 강의 결과물에서 이미지가 겹치는 문제는 다음과 같이 수정할 수 있을 것 같습니다

0

78

2

메타클래스 오류가 납니다

0

85

2

_ _ 관련 질문

0

77

1

변수 앞 _ 하나를 사용할때

0

149

2

가상환경 설정 시 vscode 실행 오류

0

543

2

이미지 에러 발생

0

329

1

에러발생합니다2

0

263

1

Error발생합니다1

0

294

1

pypi 배포 중 에러 발생

0

540

2

강의 부분이 틀렸네요. 수정 요청드려요!

0

477

2

logging print 순서에 대한 질문입니다.

0

275

1

@contextlib.contextmanager 어노테이션, 데코레이터

0

287

1

mount라는 의미가 정확히 무엇인지 모르겠습니다.

0

510

1

파이썬 lv3 의 py_ad_4_2.py 에서 Image를 열기만 하고 닫지는 않으셨습니다.

0

345

1

오픈소스참여-나만의 패키지 만들기

1

509

3

gitignore 파일이 없어요

0

319

1

property 사용시 동명의 속성이 이미 존재하면 어떻게 되나요?

0

275

1

variable scope 강의 Ex8 질문드립니다.

0

354

1

오픈소스참여-나만의 패키지 만들기(1)

1

572

2

s1, s2 점수 확인

0

467

2

질문

0

269

2

descriptor 변수 공유문제

0

284

1

multipledispatch 에러

0

397

1