본문 바로가기

python tutorial -2 인터프리터

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 -*-