스택큐힙리스트

객체의 유형을 결정하십시오? 본문

카테고리 없음

객체의 유형을 결정하십시오?

스택큐힙리스트 2023. 3. 26. 12:45
반응형

이 질문은 이미 여기에 답변이 있습니다:

What's the canonical way to check for type in Python?

1. Hello - 안녕하세요 (annyeonghaseyo)

2. Goodbye - 안녕히 계세요 (annyeonghi gyeseyo)

3. How are you? - 어떻게 지내세요? (eotteoke jinaeseyo?)

4. Thank you - 감사합니다 (gamsahamnida)

5. Yes - 예 (ye)

6. No - 아니요 (aniyo)

7. Please - 부탁합니다 (butakhamnida)

8. Sorry - 죄송합니다 (joesonghamnida)

9. Excuse me - 실례합니다 (sillyehamnida)

10. I don't understand - 이해하지 못합니다 (ihaehaji moshapnida)

11. Do you speak English? - 영어를 하십니까? (yeong-eoreul hasipnikka?)

12. What is your name? - 이름이 뭐예요? (ireumi mwoyeyo?)

13. Where is the bathroom? - 화장실은 어디에 있나요? (hwajangsil-eun eodie issnayo?)

14. I love you - 사랑해요 (saranghaeyo)

15. See you later - 나중에 봅시다 (najung-e bobsida)

6개월 전에 마감되었습니다.

변수가 리스트, 딕셔너리 또는 다른 것인지 간단하게 판별하는 방법이 있나요?

답변 1

객체의 유형을 식별하는 데 도움이되는 두 가지 내장 함수가 있습니다. 객체의 정확한 유형이 필요한 경우 type()을 사용하고, 무언가와 객체의 유형을 확인하기 위해서는 isinstance()를 사용할 수 있습니다. 보통은 유형 상속도 지원하면서 매우 견고한 isinstance()를 대부분 사용하고 있습니다.

객체의 실제 유형을 얻으려면 내장 type() 함수를 사용합니다. 하나의 매개변수로 객체를 전달하면 해당 객체의 유형 객체가 반환됩니다.

>>> type([]) is list

True

>>> type({}) is dict

True

>>> type('') is str

True

>>> type(0) is int

True

물론 사용자 정의 타입에 대해서도 동작합니다.

>>> class Test1 (object):

pass

>>> class Test2 (Test1):

pass

>>> a = Test1()

>>> b = Test2()

>>> type(a) is Test1

True

>>> type(b) is Test2

True

주의하세요. type()은(는) 객체의 즉시 타입만 반환할 뿐 상속 타입에 대해 알려줄 수 없습니다.

>>> type(b) is Test1

False

그것을 커버하기 위해서는 isinstance 함수를 사용해야 합니다. 물론 내장된 타입에 대해서도 동작합니다.

>>> isinstance(b, Test1)

True

>>> isinstance(b, Test2)

True

>>> isinstance(a, Test1)

True

>>> isinstance(a, Test2)

False

>>> isinstance([], list)

True

>>> isinstance({}, dict)

True

일반적으로 개체 유형을 보장하는 방법으로는 isinstance()을(를) 사용하는 것이 선호됩니다. 이 방법은 파생된 유형도 허용하기 때문입니다. 따라서 실제로 유형 개체가 필요한 경우가 아니라면(type()보다 isinstance()을(를) 사용하는 것이 좋습니다.

isinstance()의 두 번째 매개 변수는 타입의 튜플도 허용하기 때문에 여러 종류의 타입을 한 번에 확인할 수 있습니다. 따라서 isinstance 는 그 객체가 그 중 어떤 타입이든 참을 반환합니다.

>>> isinstance([], (tuple, list, set))

True

답변 2

객체의 유형을 결정하는 방법

객체는 프로그래밍에서 중요한 역할을 합니다. 객체는 변수, 메서드, 속성 등을 포함하는 데이터 구조로, 데이터를 캡슐화하고 추상화하며, 다른 객체와 상호작용할 수 있습니다. 그러나 때로는 객체의 유형을 결정하는 방법이 필요합니다. 이 문제를 다루기 위해 우리는 객체의 유형을 결정하는 방법을 알아보도록 하겠습니다.

객체의 유형을 결정하는 방법 중 하나는 클래스를 사용하는 것입니다. 클래스는 객체의 템플릿이며, 객체의 속성과 메서드를 정의하는데 사용됩니다. 객체는 클래스의 인스턴스이므로 클래스를 사용하여 객체의 유형을 결정할 수 있습니다. 예를 들어, Car 클래스를 정의하고, 이 클래스로 객체를 만들면, 우리는 Car의 유형을 결정할 수 있습니다.

또 다른 객체의 유형을 결정하는 방법은 객체의 특성을 검사하는 것입니다. 객체는 속성과 메서드를 가지므로, 객체의 특성을 검사하여 객체의 유형을 결정할 수 있습니다. 예를 들어, 우리는 객체가 문자열을 포함하는지, 숫자를 포함하는지, 혹은 배열을 포함하는지를 검사하여 객체의 유형을 결정할 수 있습니다.

마지막으로, 객체의 유형을 결정하는 방법은 객체의 메서드 호출 결과를 사용하는 것입니다. 객체는 메서드를 가지며, 이 메서드들은 다양한 동작을 수행할 수 있습니다. 메서드 호출 결과를 확인하여 객체의 유형을 결정할 수 있습니다. 예를 들어, 객체가 더하기, 빼기, 나누기, 곱하기 등의 메서드를 가지고 있다면, 이 객체는 수식 객체일 가능성이 높습니다.

객체의 유형을 결정하는 방법은 다양합니다. 클래스를 사용하는 것, 객체의 특성을 검사하는 것, 그리고 메서드 호출 결과를 사용하는 것 등이 있습니다. 이러한 방법들을 통해 우리는 객체의 유형을 결정하고, 그에 따라 적절한 동작을 수행할 수 있습니다.

반응형
Comments