본문 바로가기

파이썬 튜터리얼 정리 14 대화 환경에서의 입력 행 편집과 히스토리 대체

https://docs.python.org/ko/3/tutorial/interactive.html

https://psklog.tistory.com/60?category=795142


1문제


14. 대화형 입력 편집 및 히스토리 치환

일부 파이썬 인터프리터 버전은 Korn 셸 및 GNU Bash 셸에 있는 기능과 유사하게 현재 입력 줄 편집 및 히스토리 치환을 지원합니다.

이는 다양한 스타일의 편집을 지원하는 GNU Readline 라이브러리를 사용 구현- 라이브러리 자체 설명서가 있음.


14.1. 탭 완성 및 히스토리 편집

변수/ 모듈 명은 인터프리터 시작 시 자동으로 활성화 - 'Tab 키'가 완료 기능을 호출

- 명령문 이름 / 현재 지역 변수 / 사용 가능한 모듈 이름


ex)

string.a  : 마지막 '.' 까지 값을 구한 다음, 완성을 제안 

__getattr__() 를 가진 객체가 일부면 응용 프로그램이 실행할 수 있음 - 주의


기본 설정 - 사용자 디렉터리 .python_history 파일로 히스토리 저장



14.2. 대화형 인터프리터 대안

이전 인터프리터에 비교해 엄청난 발전;


- 희망 사항

이어지는 줄의 적절한 들여쓰기 (파서는 다음에 들여쓰기 토큰이 필요한지 알고 있습니다)

완료 메커니즘은 인터프리터의 심볼 테이블을 사용 

매치되는 괄호, 따옴표 등을 검사 (또는 제안)하는 명령


IPython 

- 탭 완성

- 객체 탐색 

- 고급 히스토리 관리 기능 

- 철저하게 커스터마이즈해서 다른 응용 프로그램에 내장할 수 있습니다. 

- 비슷한 대화형 환경 : bpython