python tutorial
part 2 인터프리터 インタプリタ
실행하기
유닉스 설치
보통 /usr/local/bin/python3.7에 설치됨
유닉스 셸 경로 /usr/local/bin/ 에서 명령: python3.7으로 실행
Python インタプリタは、それが使えるマシン上では通常 /usr/local/bin/python3.7としてインストールされています;
Unix シェルの検索パスに /usr/local/bin を入れることによって、
次のコマンドをタイプしてインタプリタを開始することができます: python3.7
다른 장소 설치 가능 [1] : (/usr/local/python 도 널리 사용되는 위치)
どのディレクトリに Python インタプリタをインストールするかはインストール時に選択できるので、インタプリタは他のディレクトリにあるかもしれません; 身近な Python に詳しい人か、システム管理者に聞いてみてください。[1]
(例えば、その他 一般的 /usr/local/python)
[1]
유닉스에서, 파이썬 3.x 인터프리터는 보통 python 이라는 이름의 실행 파일로 설치되지 않는데,
동시에 설치되는 파이썬 2.x 실행 파일과 충돌하지 않도록 하기 위해서.
Unixでは、Python 3.x インタープリタの実行ファイルはデフォルトでは python という名前ではインストールされません。
同時にインストールされた Python 2.x 実行ファイルと衝突させないためです。
윈도우 설치
설치 경로 : C:\Python37 (변경가능)
디렉터리 set path : set path=%path%;C:\python37
인터프리터 종료하기
EOF(end-of-file) (종료 상태 코드 0)
유닉스 : Control-D
윈도우 : Control-Z
quit()
ファイル終端文字
Unixでは Control-D 、DOS や Windows では Control-Z) を一次プロンプト (訳注: '>>>' のこと) に入力すると、
インタプリタが終了ステータス 0 で終了します。
もしこの操作がうまく働かないなら、コマンド: quit() と入力すればインタプリタを終了できます。
readline 지원 시스템
- 줄 편집 기능 (대화형 편집, 히스토리 치환, 코드 완성 등 제공)
- 명령행 편집 제공 확인 : Control-P
(삑 소리 : 명령행 편집 지원)
(반응 x 혹은 ^P : 지원 x. 백스페이스를 사용할 수 있는 것이 전부)
readline をサポートしているシステム上では、インタプリタで
対話的行編集や ヒストリ置換、コード補完などの編集機能を使えます。
コマンドライン編集機能がサポートされているかどうかは、
Pythonインタプリタのプロンプトに Control-P を入力してみるとわかります。
ビープ音が鳴るなら、コマンドライン編集機能があります。編集キーについての解説は付録 対話入力編集と履歴置換 を参照してください。
何も起こらないように見えるか、 ^P がエコーバックされるなら、コマンドライン編集機能は利用できません。
この場合、現在編集中の行から文字を削除するには、バックスペースを使うしかありません。
유닉스 셸처럼 동작 ( 대화형 / 스크립트 실행)
- tty 장치에 표준 입력이 연결된 상태로 실행 : 대화형으로 명령을 읽고 실행
- 파일명을 인자 / 파일을 표준입력으로 연결한 상태로 실행 : 스크립트를 읽고 실행
インタプリタは Unix シェルと同じように使えます。
標準入力が端末に接続された状態では、コマンドを対話的に読み込んで実行します。
ファイル名を引数に指定するか、python3 < filename のように標準入力ファイルとして指定すると、インタプリタはファイルから スクリプト を読み込んで実行します。
인터프리터 실행 두 번째 방법
- 커맨드(명령) 실행
python -c 'command' [arg] ...
파이썬에서 공백은 의미가 있기 때문에 command는 작은따옴표로 '' 로 감싸준다.
インタプリタを python -c command [arg] ... のように起動する方法もあります。
この形式では、シェルの -c オプションと同じように、 command に指定した文を実行します。
Python 文には、スペースなどのシェルにとって特殊な意味をもつ文字がしばしば含まれるので、 command 全体をシングルクォート(訳注: ')で囲っておいたほうが良いでしょう。
- 파이썬 모듈 스크립트 실행
python -m module [arg] ...
명령행에 모듈 파일 경로명을 입력한 것처럼 실행
Python のモジュールには、スクリプトとしても便利に使えるものがあります。
python -m module [arg] ... のように起動すると、 module のソースファイルを、フルパスを指定して起動したかのように実行できます。
스크립트를 실행 후 대화형 모드로 들어가기 :
: 스크립트 앞에 -i
スクリプトファイルを使用する場合、
スクリプトの実行が完了した後、そのまま対話モードに入れると便利なことがあります。
: -i をスクリプト名の前に追加します。
2.1.1. 인자 전달 引数の受け渡し
스크립트 이름과 인자들이 인터프리터로 전달될 때 :
-> 문자열 리스트로 변환 후 ->sys 모듈 argv에 저장 (sys.argv)
import sys
sys를 import 함으로써 스크립명, 인자 리스트에 접근 가능
sys.argv 리스트 최소 길이 : 1 (sys.argv[0])
스크립트 추가 인자 없는 경우 - sys.argv[0] 은 빈 문자열
스크립트 이름 : '-' (표준입력) 로 주면 - sys.argv[0] 는 '-'
スクリプト名と引数を指定してインタプリタを起動した場合、
スクリプト名やスクリプト名以後に指定した引数は、文字列のリストに変換されて sys モジュールの argv 変数に格納されます。
import sys とすることでこのリストにアクセスできます。
sys.argv には少なくとも一つ要素が入っています。
スクリプト名も引数も指定しなければ、 sys.argv[0] は空の文字列になります。
スクリプト名の代わりに '-' (標準入力を意味します) を指定すると、 sys.argv[0] は '-' になります
-c command : sys.argv[0] = '-c'
-m module : sys.argv[0] = 모듈 절대 경로명
-c command 나 -m module 뒤에 오는 옵션들은 파이썬 인터프리터가 소모하지 않고 명령이나 모듈이 처리하도록 sys.argv 로 전달
-c command を使うと、 sys.argv[0] は '-c' になります。
-m module を使った場合、 sys.argv[0] はモジュールのフルパスになります。
Python インタープリタは、-ccommand や -m module の後ろに指定したオプションは無視します。
無視された引数は、sys.argv を使って command や module から参照できます。
2.1.2. 대화형 모드 対話モード
인터프리터 대화형 모드 프롬프트
명령 요청 (>>>)
이어지는 줄 (...)
インタプリタが命令を端末 (tty) やコマンドプロンプトから読み取っている場合、
インタプリタは 対話モード (interactive mode) で動作しているといいます。
このモードでは、インタプリタは 一次プロンプト (primary prompt) を表示して、ユーザにコマンドを入力するよう促します。
一次プロンプトは普通、三つの「大なり記号」 (>>>) です。
継続行では、インタプリタは 二次プロンプト (secondary prompt) を表示します。二次プロンプトは、デフォルトでは三つのドット (...) です。
인터프리터는 처음에 버전 번호와 저작권 공지를 포함하는 환영 메시지를 출력
インタプリタは、最初のプロンプトを出す前にバージョン番号と著作権表示から始まる起動メッセージを出力します:
$ python3.7
Python 3.7 (default, Sep 16 2015, 09:25:04)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
2.2. 인터프리터와 환경 インタプリタとその環境
2.2.1. 소스 코드 인코딩 ソースコードの文字コード
기본 파이썬 인코딩 UTF-8
하지만 표준 라이브러리는 오직 ASCII 문자만 식별자로 사용하고 있는데, 범용 코드에서는 이 관례를 따르는 것이 좋음
편집기 : UTF-8 인식, 파일의 폰트 지원
デフォルトでは、Python のソースコードは UTF-8 でエンコードされているものとして扱われます。
UTF-8 では、世界中のほとんどの言語の文字を、同時に文字列リテラル、識別子、コメントなどに書けます。
--- ただし、標準ライブラリは識別子に ASCII 文字のみを利用していて、その他のポータブルなコードもその慣習に従うべきです。
それらの文字を正しく表示するためには、エディターはそのファイルが UTF-8 である事を識別して、そのファイルに含まれている文字を全てサポートしたフォントを使わなければなりません。
인코딩을 기본값 외 선언 시, 첫 줄에 주석문 추가 :
デフォルトエンコーディング以外のエンコーディングを使用するには、ファイルの 先頭 の行に特別なコメントを追加しなければなりません。
# -*- coding: encoding -*-
encoding : 파이썬 지원 코덱 (codecs) ex) Windows-1252 인코딩
encoding には、Python が codecs でサポートしている有効なエンコーディングを指定します。
例えば、Windows-1252 エンコーディングを使用するには、ソースコードファイルの先頭行は下記のようにします:
# -*- coding: cp1252 -*-
첫 줄 규칙의 한 가지 예외 : 유닉스 "셔뱅 (shebang)"으로 시작하는 경우, 인코딩 선언은 두 번째 줄 :
ソースコードが UNIX "shebang" 行 で始まる場合には、先頭行 のルールは当てはまりません。
この場合には、エンコーディングの宣言はファイルの2行目に追加します。 例えば以下のようになります:
#!/usr/bin/env python3
# -*- coding: cp1252 -*-
'Dev Note > Python3 튜토리얼 정리' 카테고리의 다른 글
python tutorial -4 제어 흐름 도구 (0) | 2019.06.13 |
---|---|
python tutorial -3 주석, 수, 문자열, 리스트, end=, 조건/바디 .. (0) | 2019.06.11 |
python tutorial -1 파이썬 특징 (0) | 2019.06.07 |
파이썬 튜터리얼 정리 14 대화 환경에서의 입력 행 편집과 히스토리 대체 (0) | 2019.04.26 |
파이썬 튜터리얼 정리 12 가상 환경 및 패키지 (0) | 2019.04.26 |