본문 바로가기

파이썬 튜토리얼 / Pythonチュートリアル 2.1. 인터프리터 실행하기 インタプリタを起動する

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

2. 파이썬 인터프리터 사용하기

2.1. 인터프리터 실행하기

2. Python インタプリタを使う

2.1. インタプリタを起動する




파이썬 인터프리터는 보통 /usr/local/bin/python3.7 에 설치됩니다; 유닉스 셸의 검색 경로에 /usr/local/bin 를 넣으면 명령:


Python インタプリタは、それが使えるマシン上では通常 /usr/local/bin/python3.7としてインストールされています; Unix シェルの検索パスに /usr/local/bin を入れることによって、次のコマンドをタイプしてインタプリタを開始することができます:

python3.7

을 셸에 입력해서 실행할 수 있습니다. [1] 인터프리터가 위치하는 디렉터리의 선택은 설치 옵션이기 때문에, 다른 장소도 가능합니다; 주변의 파이썬 전문가나 시스템 관리자에게 확인할 필요가 있습니다. (예를 들어, /usr/local/python 도 널리 사용되는 위치입니다.)


[1] どのディレクトリに Python インタプリタをインストールするかはインストール時に選択できるので、インタプリタは他のディレクトリにあるかもしれません; 身近な Python に詳しい人か、システム管理者に聞いてみてください。 (例えば、その他の場所としては /usr/local/python が一般的です。)



윈도우에서, 파이썬 설치는 보통 C:\Python37 에 이루어지지만, 설치기를 실행할 때 변경할 수 있습니다. 이 디렉터리를 경로에 넣으려면 다음과 같은 명령을 DOS 상자의 명령 프롬프트에 입력하면 됩니다:

set path=%path%;C:\python37

기본 프롬프트에서 EOF(end-of-file) 문자(유닉스에서는 Control-D, 윈도우에서는 Control-Z)를 입력하면 인터프리터가 종료하고, 종료 상태 코드는 0 이 됩니다. 이 방법이 통하지 않는다면 quit() 명령을 입력해서 인터프리터를 종료시킬 수 있습니다.


ファイル終端文字 (Unixでは Control-D 、DOS や Windows では Control-Z) を一次プロンプト (訳注: '>>>' のこと) に入力すると、インタプリタが終了ステータス 0 で終了します。もしこの操作がうまく働かないなら、コマンド: quit() と入力すればインタプリタを終了できます。


인터프리터는 readline 을 지원하는 시스템에서 줄 편집 기능으로 대화형 편집, 히스토리 치환, 코드 완성 등을 제공합니다. 아마도 명령행 편집이 제공되는지 확인하는 가장 빠른 방법은 첫 프롬프트에서 Control-P 를 입력하는 것입니다. 삑 하는 소리가 난다면 명령행 편집이 지원되고 있습니다; 입력 키에 대한 소개는 부록 대화형 입력 편집 및 히스토리 치환 을 보세요. 아무런 반응도 없거나 ^P 가 출력된다면 명령행 편집이 제공되지 않는 것입니다; 현재 줄에서 문자를 지우기 위해 백스페이스를 사용할 수 있는 것이 전부입니다.


readline をサポートしているシステム上では、インタプリタで対話的行編集やヒストリ置換、コード補完などの編集機能を使えます。コマンドライン編集機能がサポートされているかどうかは、Pythonインタプリタのプロンプトに Control-P を入力してみるとわかります。ビープ音が鳴るなら、コマンドライン編集機能があります。編集キーについての解説は付録 対話入力編集と履歴置換 を参照してください。何も起こらないように見えるか、 ^P がエコーバックされるなら、コマンドライン編集機能は利用できません。この場合、現在編集中の行から文字を削除するには、バックスペースを使うしかありません。


인터프리터는 어느 정도 유닉스 셸처럼 동작합니다: tty 장치에 표준 입력이 연결된 상태로 실행되면, 대화형으로 명령을 읽고 실행합니다; 파일명을 인자로 주거나 파일을 표준입력으로 연결한 상태로 실행되면 스크립트를 읽고 실행합니다.


インタプリタは Unix シェルと同じように使えます。標準入力が端末に接続された状態では、コマンドを対話的に読み込んで実行します。ファイル名を引数に指定するか、python3 < filename のように標準入力ファイルとして指定すると、インタプリタはファイルから スクリプト を読み込んで実行します。


인터프리터를 실행하는 두 번째 방법은 python -c command [arg] ... 인데, command 에 있는 문장들을 실행합니다. 셸의 -c 옵션에 해당합니다. 파이썬 문장은 종종 셸에서 특별한 의미가 있는 공백이나 다른 문자들을 포함하기 때문에, command 전체를 작은따옴표로 감싸주는 것이 좋습니다.


インタプリタを python -c command [arg] ... のように起動する方法もあります。この形式では、シェルの -c オプションと同じように、 command に指定した文を実行します。 Python 文には、スペースなどのシェルにとって特殊な意味をもつ文字がしばしば含まれるので、 command 全体をシングルクォート(訳注: ')で囲っておいたほうが良いでしょう。


몇몇 파이썬 모듈들은 스크립트로도 쓸모가 있습니다. python -m module [arg] ... 로 실행할 수 있는데, 마치 module 모듈 소스 파일의 경로명을 명령행에 입력한 것처럼 실행되게 됩니다.


Python のモジュールには、スクリプトとしても便利に使えるものがあります。 python -m module [arg] ... のように起動すると、 module のソースファイルを、フルパスを指定して起動したかのように実行できます。



스크립트 파일이 사용될 때, 때로 스크립트를 실행한 후에 대화형 모드로 들어가는 것이 편리할 때가 있습니다. 스크립트 앞에 -i 를 전달하면 됩니다.


スクリプトファイルを使用する場合、スクリプトの実行が完了した後、そのまま対話モードに入れると便利なことがあります。これには -i をスクリプト名の前に追加します。


모든 명령행 옵션은 명령 줄과 환경 에서 찾을 수 있습니다.


全てのコマンドラインオプションは コマンドラインと環境 で説明されています。


2.1.1. 인자 전달

2.1.1. 引数の受け渡し


스크립트 이름과 추가의 인자들이 인터프리터로 전달될 때, 문자열의 목록으로 변환된 후 sys 모듈의 argv 변수에 저장됩니다. import sys 를 사용해서 이 목록에 접근할 수 있습니다. 목록의 길이는 최소한 1이고, 스크립트도 추가의 인자도 없는 경우로, 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 로 전달됩니다.


command を使うと、 sys.argv[0] は '-c' になります。 -m module を使った場合、 sys.argv[0] はモジュールのフルパスになります。 Python インタープリタは、-ccommand や -m module の後ろに指定したオプションは無視します。無視された引数は、sys.argv を使って command や module から参照できます。



2.1.2. 대화형 모드

2.1.2. 対話モード


명령을 tty 에서 읽을 때, 인터프리터가 대화형 모드 로 동작한다고 말합니다. 이 모드에서는 기본 프롬프트 를 표시해서 다음 명령을 요청하는데, 보통 세 개의 ...보다 크다 기호입니다 (>>>); 한 줄로 끝나지 않고 이어지는 줄의 입력을 요청할 때는 보조 프롬프트가 사용되는데, 기본적으로 세 개의 점입니다 (...). 인터프리터는 첫 번째 프롬프트를 인쇄하기 전에 버전 번호와 저작권 공지를 포함하는 환영 메시지를 출력합니다.


インタプリタが命令を端末 (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.
>>>

이어지는 줄은 여러 줄로 구성된 구조물을 입력할 때 필요합니다. 예를 들자면, 이런 식의 if 문이 가능합니다:

継続行は、複数行の構文を入力するときに使います。例えば、 if 文は継続行を使用します


>>>
>>> the_world_is_flat = True
>>> if the_world_is_flat:
...     print("Be careful not to fall off!")
...
Be careful not to fall off!

대화형 모드에 대해 더 알고 싶다면, 대화형 모드 를 보세요.

対話モードについての詳細は 対話モード を参照してください。


2.2. 인터프리터와 환경

2.2. インタプリタとその環境

2.2.1. 소스 코드 인코딩

2.2.1. ソースコードの文字コード


기본적으로, 파이썬 소스 파일들은 UTF-8으로 인코드 된 것으로 취급됩니다. 이 인코딩에서는 대부분 언어에서 사용되는 문자들을 문자열 상수, 식별자, 주석 등에서 함께 사용할 수 있습니다. (하지만 표준 라이브러리는 오직 ASCII 문자만 식별자로 사용하고 있는데, 범용 코드에서는 이 관례를 따르는 것이 좋습니다.) 이 문자들을 모두 올바로 표시하기 위해서는 편집기가 파일이 UTF-8임을 인식해야 하고, 이 파일에 포함된 모든 문자를 지원할 수 있는 폰트를 사용해야 합니다.


デフォルトでは、Python のソースコードは UTF-8 でエンコードされているものとして扱われます。UTF-8 では、世界中のほとんどの言語の文字を、同時に文字列リテラル、識別子、コメントなどに書けます。--- ただし、標準ライブラリは識別子に ASCII 文字のみを利用していて、その他のポータブルなコードもその慣習に従うべきです。それらの文字を正しく表示するためには、エディターはそのファイルが UTF-8 である事を識別して、そのファイルに含まれている文字を全てサポートしたフォントを使わなければなりません。


인코딩을 기본값 외의 것으로 선언하려면, 파일의 첫 줄에 특별한 형태의 주석 문을 추가해야 합니다. 문법은 이렇습니다:


デフォルトエンコーディング以外のエンコーディングを使用するには、ファイルの 先頭 の行に特別なコメントを追加しなければなりません。書式は以下の通りです:


# -*- coding: encoding -*-

encoding 은 파이썬이 지원하는 코덱 (codecs) 중 하나여야 합니다.

예를 들어, Windows-1252 인코딩을 사용하도록 선언하려면, 소스 코드 파일의 첫 줄은 이렇게 되어야 합니다:


encoding には、Python が codecs でサポートしている有効なエンコーディングを指定します。

例えば、Windows-1252 エンコーディングを使用するには、ソースコードファイルの先頭行は下記のようにします:


# -*- coding: cp1252 -*-


첫 줄 규칙의 한가지 예외는 소스 코드가 유닉스 "셔뱅 (shebang)" 줄 로 시작하는 경우입니다. 이 경우에, 인코딩 선언은 두 번째 줄에 들어갑니다. 예를 들어:


ソースコードが UNIX "shebang" 行 で始まる場合には、先頭行 のルールは当てはまりません。 この場合には、エンコーディングの宣言はファイルの2行目に追加します。 例えば以下のようになります:

#!/usr/bin/env python3
# -*- coding: cp1252 -*-

각주

[1]유닉스에서, 파이썬 3.x 인터프리터는 보통 python 이라는 이름의 실행 파일로 설치되지 않는데, 동시에 설치되는 파이썬 2.x 실행 파일과 충돌하지 않도록 하기 위해섭니다.
Unixでは、Python 3.x インタープリタの実行ファイルはデフォルトでは python という名前ではインストールされません。同時にインストールされた Python 2.x 実行ファイルと衝突させないためです。