성찰이란 무엇인가요?
일상에서 성찰은 자기 성찰의 행위입니다.
컴퓨터 프로그래밍에서 성찰은 무엇인가를 조사하여 그것이 무엇인지, 무엇을 알고 있는지, 무엇을 할 수 있는지 판단하는 능력입니다. Introspection은 프로그래머에게 뛰어난 유연성과 제어 기능을 제공합니다.
더 간단하고 직설적으로 말하자면, 인트로스펙션이란 객체 지향 언어로 작성된 프로그램이 실행될 때 객체의 유형을 알 수 있다는 의미입니다. 간단히 말해서, 객체의 유형은 런타임에 알 수 있습니다.
예를 들어 python, baby, object-C, c++는 모두 자기 성찰 능력이 있습니다. 그 중에서 C++는 자기 성찰 능력이 가장 약한 반면, Python은 자기 성찰 능력이 무엇인지 알 수 있습니다. 그리고 그것이 어떤 속성을 가지고 있는지.
성찰을 이해하는 가장 좋은 방법은 예제를 통해서입니다: Type introspection 다음은 다양한 프로그래밍 언어의 내성에 대한 예입니다. (이 링크에 있는 예제는 매우 중요합니다. 내러티브를 통해 내성이 무엇인지 이해하기 어려울 수도 있지만, 이 예제를 통해 잠시 이해하실 수 있습니다)
Python으로 돌아가서 Python에서 더 일반적인 내성 메커니즘(함수 사용)은 다음과 같습니다: dir(), type(), hasattr(), isinstance(), 이러한 함수를 통해 를 통해 프로그램이 실행될 때 객체의 유형을 알 수 있고 객체에 특정 속성이 존재하는지 확인하고 객체의 속성에 액세스할 수 있습니다.
dir()
dir() 함수는 아마도 Python의 내부 검사 메커니즘 중 가장 유명한 부분일 것입니다. 전달된 객체의 속성 이름이 정렬된 목록을 반환합니다. 객체가 지정되지 않으면 dir()은 현재 범위의 이름을 반환합니다. dir() 함수를 키워드 모듈에 적용하고 그것이 무엇을 나타내는지 살펴보겠습니다:
>>> import keyword >>> dir(keyword) ['__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'iskeyword', 'kwlist', 'main']
type()
type() 함수는 객체가 문자열인지 정수인지, 아니면 객체인지를 결정하는 데 도움이 됩니다. 다른 유형의 객체. 이는 유형 모듈에 정의된 유형과 비교할 수 있는 유형 객체를 반환하여 이를 수행합니다.
>>> type(42)<class 'int'> >>> type([])<class 'list'>
isinstance()
객체는 isinstance() 함수를 사용하여 테스트할 수 있습니다. 특정 유형 또는 사용자 정의 클래스의 인스턴스입니다.
>>> isinstance("python", str) True
Python 내부 검사의 도움말 사용 확장:
Python의 IDLE을 열고 Python 인터프리터를 입력합니다. Python 인터프리터 자체는 기본으로 생각하십시오. 모듈을 입력하고 통역사 프롬프트 >>>에 우리가 알고 싶은 정보를 입력하면 먼저 도움을 요청할 것이므로 help를 입력하고 help()를 입력하고 help 유틸리티를 입력하고 다음을 따르십시오. Python의 키워드와 Python과 함께 제공되거나 추가로 설치 및 정의된 모듈에 대해 알아보기 위한 키워드 및 모듈에 대한 프롬프트입니다. 종료하려면 'q'를 입력하고 Enter를 누르십시오.
객체에 대해 알고 싶다면(파이썬의 모든 객체는 객체로 간주될 수 있음) help()를 요청할 수도 있지만, help(object) 형식으로 괄호 안에 객체 이름을 입력해야 합니다. , help(print) 와 같은 개체에 내부 내용이 너무 많아서 일부 내용만 붙여넣는 경우도 있습니다.
>>> help Type help() for interactive help, or help(object) for help about object. >>> help() Welcome to Python 3.6's help utility! If this is your first time using Python, you should definitely check out the tutorial on the Internet at https://docs.python.org/3.6/tutorial/. Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules. To quit this help utility and return to the interpreter, just type "quit". ... help> keywords Here is a list of the Python keywords. Enter any keyword to get more help. False def if raise None del import return True elif in try and else is while as except lambda with assert finally nonlocal yield break for not class from or continue global pass help> modules Please wait a moment while I gather a list of all available modules... PIL base64 idlelib runpy __future__ bdb idna runscript __main__ binascii idna_ssl sched _ast binhex imaplib scrolledlist _asyncio bisect imghdr search _bisect browser imp ... Enter any module name to get more help. Or, type "modules spam" to search for modules whose name or summary contain the string "spam". >>> help('print') Help on built-in function print in module builtins: print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream.
추천 튜토리얼: "Python Tutorial" "Python Tutorial"
위 내용은 Python에서 자기 성찰이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!