>  기사  >  백엔드 개발  >  Python에서 자기 성찰이란 무엇입니까?

Python에서 자기 성찰이란 무엇입니까?

Guanhui
Guanhui앞으로
2020-06-22 13:37:302105검색

Python에서 자기 성찰이란 무엇입니까?

성찰이란 무엇인가요?

일상에서 성찰은 자기 성찰의 행위입니다.

컴퓨터 프로그래밍에서 성찰은 무엇인가를 조사하여 그것이 무엇인지, 무엇을 알고 있는지, 무엇을 할 수 있는지 판단하는 능력입니다. 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 &#39;int&#39;>
>>> type([])<class &#39;list&#39;>

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&#39;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(&#39;print&#39;)
Help on built-in function print in module builtins:

print(...)
  print(value, ..., sep=&#39; &#39;, end=&#39;\n&#39;, 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제