英語がわからないので機械翻訳しました。
Glossary (用語集)
- >>>
- 対話型シェルのデフォルトのPythonプロンプト。インタプリタでインタラクティブに実行できるコード例がよく見られます。
- ...
- インデントされたコードブロックまたは一致する左右の区切り文字のペア(括弧、角括弧、中括弧)のコードを入力するときの対話シェルのデフォルトのPythonプロンプト。
- 2to3
-
Python 2.xコードをPython 3.xコードに変換しようとするツール。ソースを解析して解析ツリーを走査することで検出できる非互換性の大部分を処理します。
2to3ははのように標準ライブラリで提供されlib2to3モジュール。スタンドアロンのエントリポイントがTools / scripts / 2to3として提供されています。2to3 - 自動Python 2から3へのコード変換を参照してください。
- abstract base class
- 抽象基本クラスは、hasattr()のような他のテクニックが不器用である場合や微妙に間違っている場合(例えば、 魔法の場合など)、インターフェースを定義する方法を提供することによって、ダックタイピングを補完します。ABCは、仮想サブクラスを導入します。仮想サブクラスはクラスから継承せず、isinstance()およびissubclass()によって認識されるクラスです。abcモジュールのドキュメントを参照してください。Pythonには、データ構造(collections.abcモジュール内)、数値( numbersモジュール内)、ストリーム(ioモジュール内)、インポート・ファインダおよびローダー(importlib.abcモジュール)。abcモジュールを使用して独自のABCを作成できます。
- argument
-
関数を呼び出すときに関数(またはメソッド)に渡される値。引数には2種類あります。
-
キーワード引数:関数呼び出しで識別子(例えば、name =)が前に付いているか、**の前にある辞書の値として渡された引数。たとえば、次のcomplex()の呼び出しでは、3と5の両方がキーワード引数になります。
complex(real=3, imag=5) complex(**{'real': 3, 'imag': 5})
-
位置引数:キーワード引数ではない引数。位置引数は、引数リストの先頭に出現するか、*で始まる反復可能要素の要素として渡されます。たとえば、次の呼び出しでは3と5の両方が定位置引数です。
complex(3, 5) complex(*(3, 5))
引数は、関数本体の名前付きローカル変数に割り当てられます。この割り当てを管理するルールについては、コールのセクションを参照してください。構文的には、任意の式を使用して引数を表すことができます。評価された値はローカル変数に割り当てられます。
参照してくださいパラメータ用語集エントリ、上のFAQ質問 引数とパラメータの間の差を、そしてPEP362。
-
- asynchronous context manager
- __aenter __()および __aexit __()メソッドを定義することによって、async with文で見られる環境を制御するオブジェクト です。に紹介されるPEP 492。
- asynchronous iterable
- 非同期 forステートメントで使用できるオブジェクト。__aiter __()メソッドから待機可能なものを返す必要があり ます。このメソッドは、非同期イテレータオブジェクトで解決される必要があります。に紹介されるPEP 492。
- asynchronous iterator
- __aiter __()および__anext __() メソッドを実装するオブジェクトで、納得できるオブジェクトを返す必要があります。 非同期イテレータの__anext __()メソッドから返されたawaitable を解決するためのasyncは 、StopAsyncIteration例外が発生するまで実行され ません。に紹介されるPEP 492。
- attribute
- 点線の式を使用して名前で参照されるオブジェクトに関連付けられた値。たとえば、オブジェクトoが属性aを持つ 場合、oaとして参照されます。
- awaitable
- await式で使用できるオブジェクト。コルーチンまたは__await __()メソッドを持つオブジェクトにすることができます。も参照してくださいPEP 492。
- BDFL
- 慈悲深い独裁者のためのライフ、別名Guido van Rossum、Pythonの創作者。
- binary file
-
ファイルオブジェクトの読み取りと書き込みができる バイトのようなオブジェクトを。
- bytes-like object
-
バッファプロトコルをサポートし、C 連続バッファをエクスポートできるオブジェクト。これには、すべてのbytes、 bytearray、およびarray.arrayオブジェクトだけでなく、多くの一般的なmemoryviewオブジェクトが含まれます。Byte-likeオブジェクトは、バイナリデータで動作するさまざまな操作に使用できます。これらには、圧縮、バイナリファイルへの保存、およびソケット経由の送信が含まれます。
一部の操作では、バイナリデータを変更可能にする必要があります。ドキュメントでは、これらを「読み書き可能なバイトのようなオブジェクト」と呼ぶことがよくあります。可変バッファオブジェクトの例にはbytearrayと bytearrayのメモリビューがあります。他の操作では、バイナリデータを不変オブジェクト(「読み取り専用バイトのようなオブジェクト」)に格納する必要があります。これらの例には、バイトとバイトオブジェクトのメモリビュー が含まれます。
- bytecode
-
Pythonのソースコードは、CPythonインタープリタでのPythonプログラムの内部表現であるバイトコードにコンパイルされます。バイトコードは.pycファイルと.pyoファイルにもキャッシュされるので、同じファイルの実行が2回目に高速になります(ソースからバイトコードへの再コンパイルを回避できます)。この「中間言語」は、各バイトコードに対応するマシンコードを実行する仮想マシン上で実行されると言われています。バイトコードは、異なるPython仮想マシン間で動作することも、Pythonのリリース間で安定することも期待されません。
バイトコードの説明のリストは、disモジュールのドキュメントに あります。
- class
- ユーザー定義オブジェクトを作成するためのテンプレート。クラス定義には通常、クラスのインスタンスで動作するメソッド定義が含まれています。
- coercion
- 同じ型の2つの引数を含む操作中に、ある型のインスタンスの別の型への暗黙的な変換。たとえば、 int(3.15)は浮動小数点数を整数3に変換しますが、3 + 4.5では、各引数は異なる型(1つのint、1つのfloat)であり、両方とも同じ型に変換する必要があります追加されるか、TypeErrorが発生します。強制がなければ、互換性のある型のすべての引数は、プログラマが同じ値に正規化する必要があります(例:3 + 4.5ではなくfloat(3)+ 4.5)。
- complex number
- すべての数字が実数部と虚数部の和で表される、おなじみの実数システムの拡張。虚数は、虚数単位の実数倍(-1の平方根 )であり、数学ではi、工学ではjと書かれています。Pythonには複素数の組み込みサポートがあり、後者の表記で書かれています。虚数部分は、j接尾辞、例えば3 + 1jで書かれている。複雑な数学モジュールにアクセスするには、 cmathを使用します。複素数の使用は、かなり高度な数学的な特徴です。あなたがそれらの必要性を認識していない場合、あなたがそれらを無視することがほぼ確実です。
- context manager
- __enter __()および__exit __()メソッドを 定義することによって、withステートメントで見られる環境を制御するオブジェクトです。見るPEP343。
- contiguous
-
バッファは、C連続またはFortran連続のいずれかであれば、正確に連続しているとみなされ ます。ゼロ次元バッファはCとFortran連続しています。1次元の配列では、アイテムはゼロから始まるインデックスが増加する順番で、メモリの隣に配置する必要があります。多次元C連続配列では、メモリアドレスの順にアイテムを訪問するとき、最後のインデックスが最も速く変化します。しかし、Fortranの連続した配列では、最初の索引が最も速く変化します。
- coroutine
- Coroutinesはより一般化されたサブルーチンの形式です。サブルーチンはあるポイントで入力され、別のポイントで終了します。コルーチンは、さまざまな時点で入力、終了、および再開が可能です。それらは、async def文で実装できます。も参照してください PEP 492。
- coroutine function
- コルーチンオブジェクトを返す関数。coroutine関数は、async def文で定義することができ、await、async for、および async とキーワードを含むことができます。これらはPEP 492。
- CPython
- python.orgで配布されているPythonプログラミング言語の標準的な実装。「CPython」という用語は、この実装をJythonやIronPythonなどの他のものと区別するために必要なときに使用されます。
- decorator
-
別の関数を返す関数。通常、@wrapper構文を使用して関数変換として適用されます。デコレータの一般的な例はclassmethod()とstaticmethod()です。
デコレータシンタックスは構文的な砂糖だけであり、以下の2つの関数定義は意味的に同等です。
def f(...): ... f = staticmethod(f) @staticmethod def f(...): ...
同じ概念がクラスに存在しますが、あまり一般的ではありません。デコレータの詳細については、関数定義と クラス定義のドキュメントを参照してください。
- descriptor
-
メソッド__get __()、__set __()、または __delete __()を定義するオブジェクト。クラス属性が記述子の場合、属性検索時にその特殊なバインディング動作がトリガされます。通常は、使用して ABを取得し、属性を設定または削除することが指定されたオブジェクト見上げBのクラスの辞書ではなく、場合bが記述され、それぞれの記述方法が呼び出されます。記述子を理解することは、関数、メソッド、プロパティ、クラスメソッド、静的メソッド、およびスーパークラスへの参照を含む多くの機能の基礎となるため、Pythonの深い理解の鍵です。
ディスクリプタのメソッドの詳細については、「ディスクリプタの実装」を参照してください。
- dictionary
- 任意のキーが値にマップされる連想配列。キーは、__hash __()および__eq __()メソッドを持つ任意のオブジェクトにすることができます。Perlでハッシュと呼ばれています。
- dictionary view
- dict.keys()、dict.values()、および dict.items()から返されるオブジェクトは辞書ビューと呼ばれます。ディクショナリが変更されると、これらの変更がビューに反映されます。辞書ビューを強制的にフルリスト使用リスト(dictview)にする。辞書ビューオブジェクトを参照してください。
- docstring
- クラス、関数、またはモジュールの最初の式として現れる文字列リテラル。スイートが実行されると無視されますが、コンパイラによって認識され、囲むクラス、関数、またはモジュールの__doc__属性に格納されます。それはイントロスペクションによって利用可能であるため、オブジェクトのドキュメンテーションの標準的な場所です。
- duck-typing
- オブジェクトの型を調べて正しいインタフェースを持っているかどうかを判断しないプログラミングスタイル。その代わりに、そのメソッドや属性は単純に呼び出されたり使用されたりします(「アヒルのように見え、アヒルのようなものなら、それはアヒルでなければなりません」)。多型置換。ダックタイピングは、type()または isinstance()を使用したテストを回避します。しかし、ダックタイピングは抽象基本クラスで補完できます。代わりに、通常hasattr()テストまたはEAFPプログラミングを使用します。
- EAFP
- 許可よりも許しを求めるのが簡単です。この共通のPythonコーディングスタイルは、有効なキーまたは属性の存在を前提としており、仮説が誤っている場合は例外をキャッチします。このクリーンで高速なスタイルは、多くが存在することを特徴とする試みと以外 のステートメント。このテクニックは、Cなどの他の多くの言語に共通するLBYLスタイルと対照的です。
- expression
- ある値に評価できる構文の一部。言い換えれば、式は、リテラル、名前、属性アクセス、演算子、関数呼び出しなどのすべての値を返す式要素の累積です。他の多くの言語とは対照的に、すべての言語構成が表現であるとは限りません。ifなどの式として使用できない文もあります。代入は、式ではなく文でもあります。
- extension module
- CやC ++で書かれたモジュールで、PythonのC APIを使ってコアやユーザコードとやりとりします。
- file object
-
基本となるリソースにファイル指向のAPI(read()やwrite()などのメソッドを使用)を公開するオブジェクト。ファイルオブジェクトは、作成された方法に応じて、実際のディスク上のファイルまたは別のタイプのストレージまたは通信デバイス(標準入出力、メモリ内バッファ、ソケット、パイプなど)へのアクセスを仲介できます。 。ファイルオブジェクトは、ファイルライクなオブジェクトまたは ストリームとも呼ばれます。
実際には、生のバイナリファイル、バッファされた バイナリファイル、テキストファイルの 3つのカテゴリのファイルオブジェクトがあり ます。それらのインタフェースはioモジュールで定義されています。ファイルオブジェクトを作成する標準的な方法は、open()関数を使用することです。
- file-like object
- ファイルオブジェクトの同義語。
- finder
- モジュールのローダーを検索しようとするオブジェクト。これは、メソッドの名前のどちらか実装する必要がありますfind_loader()やメソッドの名前 find_moduleを() 。見るPEP302および詳細については PEP 420、抽象基本クラスについては importlib.abc.Finderを参照してください 。
- floor division
- 最も近い整数に切り下げる数学的な除算。床分割演算子は//です。たとえば、式11 // 4は、floatの真の除算によって返された2.75とは対照的に、2と 評価されます。-2.75 が下に丸められているため、(-11)// 4は-3であることに注意してください。見る PEP238。
- function
- 呼び出し元にある値を返す一連のステートメント。また、本体の実行に使用される可能性のある0個以上の引数を渡すこともできます。パラメータ、メソッド、および関数定義セクションも参照してください。
- function annotation
-
関数のパラメータまたは戻り値に関連付けられた任意のメタデータ値。その構文については、関数定義の節で説明します。注釈は、関数オブジェクトの__annotations__特殊属性を介してアクセスできます。
Python自体は、関数アノテーションに特別な意味を割り当てません。それらは、第三者の図書館やツールによって解釈されることを意図しています。見るPEP3107は、それらの潜在的な用途のいくつかを記載している。
- __future__
-
プログラマーが現在のインタプリタと互換性のない新しい言語機能を有効にするために使用できる疑似モジュール。
__future__モジュールをインポートしてその変数を評価することで、新しいフィーチャが最初に言語に追加された時期と、デフォルトになる時期を確認できます。
>>> import __future__ >>> __future__.division _Feature((2, 2, 0, 'alpha', 2), (3, 0, 0, 'alpha', 0), 8192)
- garbage collection
- 使用されなくなったときにメモリを解放するプロセス。Pythonは参照カウントと参照サイクルを検出して中断する周期的ガベージコレクタを介してガベージコレクションを実行します。
- generator
-
ジェネレータイテレータを返す関数。forループで使用可能な一連の値を生成するためのyield式を含んでいるか、またはnext()関数で一度に1つずつ取り出すことができるという点を除いて、通常の関数のように見えます。
通常、ジェネレータ関数を指しますが、いくつかのコンテキストでジェネレータイテレータを参照することがあり ます。意図した意味が明確でない場合は、完全な用語を使用することであいまいさを避けることができます。
- generator iterator
-
ジェネレータ関数によって作成されたオブジェクト。
各歩留まりは、一時的に処理を中断し、ロケーション実行状態(ローカル変数や保留中のtry文を含む)を記憶します。ときジェネレータイテレータを再開し、それが左オフ(すべての呼び出しに新鮮なスタート機能とは対照的に)アップをピックアップ。
- generator expression
-
イテレータを返す式。通常の式のようになり、ループ変数、範囲、およびオプションのif式を定義するfor式が続きます。結合された式は、囲む関数の値を生成します。
>>> sum(i*i for i in range(10)) # sum of squares 0, 1, 4, ... 81 285
- generic function
-
さまざまな種類の同じ操作を実装する複数の関数で構成される関数。コール中にどの実装を使用すべきかは、ディスパッチアルゴリズムによって決定される。
参照してください単一のディスパッチ用語集エントリ、 functools.singledispatch()デコレータをし、PEP443。
- GIL
- グローバルインタプリタロックを参照してください。
- global interpreter lock
-
一度に1つのスレッドだけがPython バイトコードを実行することを保証するために、CPythonインタープリタによって使用されるメカニズム。これにより、オブジェクトモデル(dictなどの重要な組み込み型を含む)を暗黙的に並行アクセスに対して安全にすることで、CPythonの実装が簡素化されます。インタプリタ全体をロックすることで、インタプリタがマルチスレッド化されやすくなります。これは、マルチプロセッサマシンが提供する並列性の大部分を犠牲にします。
ただし、標準またはサードパーティの拡張モジュールの中には、圧縮やハッシングなどの計算集約型のタスクを実行するときにGILを解放するように設計されているものがあります。また、GILはI / O実行時に常に解放されます。
一般的なシングルプロセッサのケースではパフォーマンスが低下したため、「フリースレッド」インタープリタ(共有データをより細かくロックするもの)を作成するためのこれまでの努力は成功していません。このパフォーマンスの問題を克服すると、インプリメンテーションがずっと複雑になるため、維持管理にコストがかかります。
- hashable
-
オブジェクトはハッシュ可能それは(それが必要その寿命の間に変化しないハッシュ値を有する場合__hashの__()メソッド)を、そして(それが必要と他のオブジェクトと比較することができる__eqの__()メソッド)。等しいを比較するハッシュ可能オブジェクトは、同じハッシュ値を持たなければなりません。
Hashabilityは、オブジェクトが辞書キーとセットメンバーとして使用できるようにします。これらのデータ構造はハッシュ値を内部的に使用するためです。
Pythonの不変の組み込みオブジェクトはすべてハッシュ可能ですが、変更可能なコンテナ(リストや辞書など)はありません。ユーザ定義のクラスのインスタンスであるオブジェクトは、デフォルトでハッシュ可能です。彼らはすべて不等(自分自身を除いて)を比較し、そのハッシュ値はid()から導かれます。
- IDLE
- Python用統合開発環境 IDLEはPythonの標準的な配布に付属する基本的なエディタとインタプリタ環境です。
- immutable
- 固定値のオブジェクトです。不変オブジェクトには、数値、文字列、タプルが含まれます。そのようなオブジェクトは変更できません。異なる値を格納する必要がある場合は、新しいオブジェクトを作成する必要があります。彼らは、一定のハッシュ値が必要とされる場所、例えば辞書のキーとして重要な役割を果たす。
- import path
- インポートするモジュールのパスベースファインダによって検索されるロケーション(またはパスエントリ)のリスト。インポート時には、この場所のリストは通常sys.pathから取得されますが、サブパッケージの場合は、親パッケージの__path__ 属性から取得されることもあります。
- importing
- あるモジュールのPythonコードを別のモジュールのPythonコードで利用できるようにするプロセス。
- importer
- モジュールを見つけてロードするオブジェクト。ファインダとローダオブジェクトの両方。
- interactive
- Pythonにはインタラクティブなインタプリタがあります。つまり、インタプリタのプロンプトで文や式を入力し、すぐに実行してその結果を見ることができます。引数のないPythonを起動してください(コンピュータのメインメニューからPythonを選択してください)。これは、新しいアイデアをテストしたり、モジュールやパッケージを調べたりする非常に強力な方法です(help(x)を覚えておいてください)。
- interpreted
- Pythonはコンパイルされたものとは対照的に、解釈される言語ですが、バイトコードコンパイラの存在のために区別が曖昧になる可能性があります。つまり、実行可能ファイルを明示的に作成せずにソースファイルを直接実行することができます。解釈された言語は通常、コンパイルされた言語よりも開発/デバッグサイクルが短くなりますが、プログラムの一般的な実行速度も遅くなります。対話式も参照してください。
- interpreter shutdown
-
シャットダウンを要求されると、Pythonインタプリタは特別なフェーズに入り、モジュールやさまざまな重要な内部構造など、割り当てられたすべてのリソースを徐々に解放します。また、ガベージコレクタをいくつか呼び出します。これにより、ユーザ定義のデストラクタやweakrefコールバック内のコードの実行がトリガされます。シャットダウン段階で実行されるコードは、依存するリソースがこれ以上機能しなくなる可能性があるため、さまざまな例外が発生する可能性があります(一般的な例はライブラリモジュールまたは警告機構です)。
インタプリタをシャットダウンする主な理由は、実行中の__main__モジュールまたはスクリプトの実行が終了したためです。
- iterable
- メンバーを一度に1つずつ返すことができるオブジェクト。iterablesの例には、すべてのシーケンス型(list、str、tupleなど)と、dict、 ファイルオブジェクト、__ iter __()または__getitem __()メソッドで定義したクラスのオブジェクトなどの非シーケンス型が含まれます。Iterablesは、forループやシーケンスが必要な他の多くの場所(zip()、map()、...)で使用できます。反復可能オブジェクトが引数として組み込み関数iter()に渡されるとき、オブジェクトのイテレータを返します。このイテレータは、一連の値を1回通過するのに適しています。iterablesを使うときは、iter()を呼び出すかイテレータオブジェクトを自分で処理する必要はありません。以下のための 文は、ループの継続のためのイテレータを保持するために、一時的な無名の変数を作成し、あなたのために自動的にそれを行います。イテレータ、シーケンス、およびジェネレータも参照してください。
- iterator
-
データのストリームを表すオブジェクトです。反復子の__next __()メソッドへの繰り返しの呼び出し(または組み込み関数 next()への呼び出し )は、ストリーム内の連続した項目を返します。使用可能なデータがなくなると、代わりにStopIteration例外が発生します。この時点では、イテレータオブジェクトは使い果たされ、__next __()メソッドを呼び出すと、 StopIterationが再度呼び出されます。イテレータには、イテレータオブジェクト自体を返す__iter __()メソッドが必要です。すべてのイテレータもiterableであり、他のiterableが受け入れられるほとんどの場所で使用できます。1つの注目すべき例外は、複数の反復パスを試行するコードです。コンテナオブジェクト(例: list)は、 iter()関数に渡すたびに新しい新しいイテレータを生成する か、 forループで使用します。イテレータでこれを試行すると、以前の反復パスで使用されていたものと同じ、使い尽くされたイテレータオブジェクトが返され、空のコンテナのように見えます。
詳細は、「反復子の種類」を参照してください。
- key function
-
キー関数または照合関数は、ソートまたは順序付けに使用される値を返す呼び出し可能オブジェクトです。たとえば、locale.strxfrm()は、ロケール固有のソート規則を認識しているソートキーを生成するために使用されます。
Pythonの多くのツールは、要素の順序付けやグループ化の方法を制御するための主要な機能を受け入れます。彼らには、分() 、MAX() 、( ソート)を、はlist.sort() 、heapq.merge() 、 heapq.nsmallest() 、heapq.nlargest() 、および itertools.groupby() 。
キー機能を作成する方法はいくつかあります。例えば。 str.lower()メソッドは、大文字小文字を区別しないソートするための重要な機能としての役割を果たすことができます。あるいは、鍵関数から構築することができる ラムダなど発現ラムダ :R (R [0]、 R [2]) 。また、オペレータ:モジュールは、3つの主要な機能のコンストラクタ提供 )attrgetterを(、itemgetter() 、及び methodcaller() 。キー関数を作成して使用する方法の例については、「ソート方法」を参照してください。
- keyword argument
- 引数を参照してください。
- lambda
- 関数が呼び出されたときに評価される単一の式からなる匿名のインライン関数。ラムダ関数を作成する構文は、lambda [arguments]: expressionです。
- LBYL
-
あなたが跳躍する前に見てください。このコーディングスタイルは、呼び出しやルックアップを行う前に事前条件を明示的にテストします。このスタイルはEAFPのアプローチと対照的であり、多くのif文が存在することが特徴 です。
マルチスレッド環境では、LBYLのアプローチは、 "見た目"と "飛び跳ねる"の間に競合条件を導入する危険性があります。例えば、コードは、場合 キー に マッピング: 戻り マッピングは[キー]別のスレッドが削除された場合に失敗する可能性がキーからマッピング試験後に、しかし、ルックアップ前に。この問題は、ロックまたはEAFPアプローチを使用して解決できます。
- list
- 組み込みのPython シーケンス。その名前にもかかわらず、要素へのアクセスはO(1)なので、リンクされたリストよりも他の言語の配列に似ています。
- list comprehension
- シーケンス内の要素のすべてまたは一部を処理し、結果を含むリストを返すコンパクトな方法。 結果 = [ '{#04X}'形式(X) のため のx における 範囲(256) 場合 のx % 2 == 0]は 0の範囲であっても進数字(0X ..)を含む文字列のリストを生成します255ザ・場合 句はオプションです。省略すると、範囲(256)内のすべての要素が処理されます。
- loader
- モジュールをロードするオブジェクト。load_module()という名前のメソッドを定義する必要があります。ローダーは通常、ファインダーによって返され ます。見る詳細については PEP 302、抽象基本クラスについては importlib.abc.Loaderを参照してください 。
- mapping
- 任意のキー参照をサポートし、Mappingまたは MutableMapping 抽象基底クラスで指定されたメソッドを実装するコンテナオブジェクトです。たとえば、dict、collections.defaultdict、collections.OrderedDict、 collections.Counterなどがあります。
- meta path finder
- sys.meta_pathの検索によって返されたファインダ。メタパスファインダはパスエントリファインダとは関係がありますが、パスエントリファインダとは異なります。
- metaclass
-
クラスのクラス。クラス定義は、クラス名、クラス辞書、および基本クラスのリストを作成します。メタクラスは、これらの3つの引数を取り、クラスを作成する責任があります。ほとんどのオブジェクト指向プログラミング言語は、デフォルトの実装を提供します。Pythonを特別なものにする理由は、カスタムメタクラスを作成することができるということです。ほとんどのユーザーはこのツールを必要としませんが、必要が生じた場合、メタクラスは強力で洗練されたソリューションを提供できます。これらは、属性アクセスのロギング、スレッドセーフティの追加、オブジェクトの作成の追跡、シングルトンの実装、その他多くのタスクに使用されています。
詳細は、クラス作成のカスタマイジングを参照してください。
- method
- クラス本体の内部で定義される関数。そのクラスのインスタンスの属性として呼び出された場合、メソッドはインスタンスオブジェクトを最初の引数(通常はselfと呼ばれます)として取得します。関数と入れ子スコープを参照してください。
- method resolution order
- メソッドの解決順序は、ルックアップ中に基本クラスがメンバーを検索される順序です。Python 2.3のメソッド解決の順序を参照してください。
- module
-
Pythonコードの組織単位として機能するオブジェクト。モジュールには、任意のPythonオブジェクトを含む名前空間があります。モジュールは、インポートのプロセスによってPythonにロードされます。
packageも参照してください。
- module spec
- モジュールをロードするために使用されるインポート関連情報を含む名前空間。
- MRO
- メソッド解決の順序を参照してください。
- mutable
- 変更可能なオブジェクトはその値を変更できますが、id()を保持します。immutableも参照してください。
- named tuple
-
そのインデックス可能な要素(例えば、名前の属性を使用してもアクセス可能な任意のタプルのようなクラスは、time.localtime()はタプル状物体返し年がアクセス可能であるのいずれかのようなインデックスを持つT [0]または指定された属性等とt.tm_year)。
名前付きタプルは、time.struct_timeなどの組み込み型でも、通常のクラス定義で作成することもできます。フル機能の名前付きタプルは、ファクトリ関数collections.namedtuple()で作成することもでき ます。後者のアプローチは、Employee(name = 'jones'、 title = 'プログラマー')のような自己文書化表現などの追加機能を自動的に提供します。
- namespace
- 変数が格納されている場所。名前空間は辞書として実装されています。ローカル、グローバル、ビルトインネームスペース、ネストされたネームスペースがオブジェクトにあります(メソッド内)。ネームスペースは、ネーミングの競合を防ぐことによってモジュール性をサポートします。たとえば、builtins.openおよびos.open()関数 は、名前空間で区別されます。また、ネームスペースは、どのモジュールが関数を実装しているかを明確にすることによって、可読性と保守性を向上させます。例えば、書き込み random.seed()又は)itertools.isliceする(それは明らかこれらの機能をすることによって実現されることになり、ランダム及びitertools それぞれ、モジュール。
- namespace package
-
A サブパッケージのコンテナとしてのみ機能する PEP 420 パッケージ。名前空間パッケージは物理的な表現を持たないかもしれませんし、特に __init__.pyファイルを持たないので通常のパッケージに似ていません。
moduleも参照してください。
- nested scope
- 囲み定義の変数を参照する能力。例えば、別の関数の内部で定義された関数は、外部関数の変数を参照することができます。ネストされたスコープは、デフォルトでは参照用であり、割り当て用ではないことに注意してください。ローカル変数は、最も内側のスコープで読み書きします。同様に、グローバル変数はグローバル名前空間を読み書きします。ローカル以外は、外側のスコープに書き込むことができます。
- new-style class
- すべてのクラスオブジェクトに使用されるクラスの風味の古い名前。Pythonの以前のバージョンでは、__ slots__、記述子、プロパティ、__ getattribute __()、クラスメソッド、静的メソッドなど、Pythonの新しい、多用途な機能を新しいスタイルのクラスだけで使用できました。
- object
- 状態(属性または値)と定義された動作(メソッド)を持つデータ。新しいスタイルのクラスの究極の基底クラスです。
- package
-
サブモジュールまたは再帰的にサブパッケージを含むことができるPython モジュール。技術的には、パッケージは__path__属性を持つPythonモジュール です。
- parameter
-
関数が受け入れることができる引数(または場合によっては引数)を指定する、関数(またはメソッド)定義内の名前付きエンティティ。パラメータには5種類あります。
-
位置・オア・キーワード:いずれかを渡すことができる引数を指定位置やなどのキーワード引数を。これはデフォルトの種類のパラメータです(例:foo とbar)。
def func(foo, bar=None): ...
-
positions-only:位置だけで指定できる引数を指定します。Pythonには、位置限定パラメータを定義するための構文はありません。しかし、組み込み関数の中には、位置限定のパラメータ(abs()など)を持つものがあります。
-
keyword-only:キーワードのみで指定できる引数を指定します。キーワードのみのパラメータは、それらの前にある関数定義のパラメータリストに単一のvar-positionパラメータまたはbare *を含めることで定義できます。たとえば、次のようなkw_only1および kw_only2です。
def func(arg, *, kw_only1, kw_only2): ...
-
var-position:(他のパラメータによって既に受け入れられている位置引数に加えて)位置引数の任意のシーケンスを提供できることを指定します。このようなパラメータは、パラメータ名の前に*を付けることで定義できます(例 :args)。
def func(*args, **kwargs): ...
-
var-keyword:他のパラメータで既に受け入れられているキーワード引数に加えて、任意の数のキーワード引数を指定できることを指定します。そのようなパラメータは、とパラメータ名を付加することによって定義することができる**例えばため、kwargsから上記の例です。
パラメータには、オプション引数と必須引数の両方、およびオプションの引数のデフォルト値を指定できます。
参照してください引数の用語集エントリ、上のFAQ質問 引数とパラメータの間の差、inspect.Parameterのクラス、 関数定義のセクションを、そしてPEP362。
-
- path entry
- 上の単一の場所インポートパス経路基づいファインダーはインポートするモジュールを見つけるために調べ。
- path entry finder
- ファインダー上で呼び出し可能で返さsys.path_hooks (すなわちパスエントリフック与えられたモジュールを見つける方法を知っている)パスエントリ。
- path entry hook
- 特定のパスエントリ上のモジュールを見つける方法を知っている場合は、パスエントリファインダを返すsys.path_hookリストの呼び出し可能です。
- path based finder
- モジュールのインポートパスを検索するデフォルトのメタパスファインダの 1つ。
- portion
- 名前空間パッケージに貢献する単一のディレクトリ内のファイルのセット(おそらくzipファイルに格納される)。 PEP420。
- positional argument
- 引数を参照してください。
- provisional API
-
暫定APIは、標準ライブラリの後方互換性保証から意図的に除外されたAPIです。そのようなインタフェースの大きな変更は予期しないものの、暫定的にマークされている限り、コア開発者が必要と判断した場合、後方互換性のない変更(インタフェースの削除まで)が発生する可能性があります。そのような変更は無償で行われることはありません。APIを組み込む前に逃した深刻な基本的な欠陥が発見された場合にのみ発生します。
仮APIの場合でも、後方互換性のない変更は、「最後の解決策」と見なされます。特定された問題に対する下位互換性のある解決策を見つけるためのあらゆる試みが行われます。
このプロセスにより、問題のある設計ミスを長時間ロックすることなく、標準ライブラリを時間の経過とともに進化させ続けることができます。見るPEP 411を参照してください。
- provisional package
- 仮APIを参照してください。
- Python 3000
- Python 3.xリリースラインのニックネーム(バージョン3のリリースが遠い将来にあった昔のことです)。これは "Py3k"と略されています。
- Pythonic
-
他の言語に共通する概念を使用してコードを実装するのではなく、Python言語の最も一般的なイディオムに厳密に従うアイデアまたはコードです。たとえば、Pythonの共通のイディオムは、for 文を使って繰り返し可能なすべての要素をループすることです。他の多くの言語にはこのような構文がありません。そのため、Pythonに精通していない人は、代わりに数値カウンタを使用することがあります。
for i in range(len(food)): print(food[i])
クリーナーのPythonicメソッドとは対照的に、
for piece in food: print(piece)
- qualified name
-
モジュールのグローバルスコープからそのモジュールで定義されたクラス、関数、またはメソッドへの "パス"を示す点線の名前。 PEP 3155。最上位の関数およびクラスの場合、修飾名はオブジェクトの名前と同じです。
>>> class C: ... class D: ... def meth(self): ... pass ... >>> C.__qualname__ 'C' >>> C.D.__qualname__ 'C.D' >>> C.D.meth.__qualname__ 'C.D.meth'
モジュールを参照するために使用される場合、完全修飾名は、親パッケージを含むモジュールへのドット付きパス全体を意味します(例:email.mime.text)。
>>> import email.mime.text >>> email.mime.text.__name__ 'email.mime.text'
- reference count
- オブジェクトへの参照の数。オブジェクトの参照カウントがゼロになると、そのオブジェクトは解放されます。参照カウントは一般的にPythonコードでは見えませんが、CPython実装の重要な要素です。SYSのモジュールを定義 GETREFCOUNT()プログラマは、特定のオブジェクトの参照カウントを返すために呼び出すことができる機能。
- regular package
-
従来のパッケージ。たとえば、__init__.pyファイルを含むディレクトリ です。
名前空間パッケージも参照してください。
- __slots__
- インスタンス属性の事前宣言空間とインスタンス辞書の削除により、メモリを節約するクラス内の宣言。普及していますが、この手法はやや難解ですが、メモリクリティカルなアプリケーションに多数のインスタンスが存在するまれなケースに最適です。
- sequence
-
__getitem __()特殊メソッドを介して整数インデックスを使用して効率的な要素アクセスをサポートし、シーケンスの長さを返す__len __()メソッドを定義 する反復可能オブジェクトです。組み込みのシーケンス型には、list、str、 tuple、およびbytesがあります。その注意辞書はまた、サポート__ __getitemを()および__len __() 、しかし、検索は、任意の使用しているため、マッピングではなく、シーケンスと考えられている 不変ではなく、整数以外のキーを。
collections.abc.Sequence抽象基底クラスだけを超えてはるかに豊かインタフェース定義 __getitem __()をし、)(__ __len追加し、カウント数() 、 インデックス() 、__contains __() 、および __reversed __()を。この拡張されたインタフェースを実装する型は、register()を使用して明示的に登録できます。
- single dispatch
- 実装が単一の引数の型に基づいて選択される汎用関数ディスパッチの形式。
- slice
- 通常シーケンスの一部を含むオブジェクト。スライスは、variable_name [1:3:5]のように、添え字表記法[]を使用して数値間のコロンを使用して作成されます。ブラケット(下付き文字)表記はスライスオブジェクトを内部的に使用します。
- special method
- Pythonによって暗黙的に呼び出され、型などの特定の操作を追加などの方法で実行するメソッド。そのようなメソッドには二重のアンダースコアで始まる名前と終わりの名前があります。特別なメソッドは、特別なメソッド名で説明されてい ます。
- statement
- ステートメントはスイート(コードの「ブロック」)の一部です。ステートメントは、式またはif、while、forなどのキーワードを持つ複数の構文のいずれかです。
- struct sequence
- 名前付き要素を持つタプル。構造体シーケンスは、要素がインデックスまたは属性のいずれかでアクセスできるという点で、名前付きタプルに似たインタフェースを公開します。しかし、彼らは_make()や _asdict()のような名前付きタプルメソッドを持っていません。構造体シーケンスの例には、sys.float_infoとos.stat()の戻り値があります。
- text encoding
- Unicode文字列をバイトにエンコードするコーデック。
- text file
-
ファイルオブジェクトの読み取りおよび書き込みすることができstrのオブジェクトを。多くの場合、テキストファイルは実際にバイト指向のデータストリームにアクセスし、自動的にテキストエンコーディングを処理します。
も参照してください
バイナリファイルは、読み込みおよび書き込みバイトのオブジェクトを。
- triple-quoted string
- 引用符( ")またはアポストロフィ( ')の3つのインスタンスによってバインドされた文字列。一重引用符で囲まれた文字列では利用できない機能は何も提供しませんが、いくつかの理由で便利です。文字列内にエスケープされていない一重引用符と二重引用符を含めることができ、連続文字を使用せずに複数の行にまたがることができ、ドキュメント文字列を書くときに特に便利です。
- type
- Pythonオブジェクトの型によって、オブジェクトの種類が決まります。すべてのオブジェクトに型があります。オブジェクトの型は__class__属性としてアクセス可能である か、型(obj)で取り出すことができます。
- universal newlines
- 次のすべてが行末として認識されるテキストストリームを解釈する方法:Unixの行末規則'\ n'、Windowsの規則'\ r \ n'、および古いMacintoshの規則 '\ r "。見るPEP278およびPEP 3116、および 追加使用のための bytes.splitlines()があります。
- virtual environment
-
協調的に分離されたランタイム環境で、Pythonユーザーとアプリケーションは、Python配布パッケージを同じシステム上で実行されている他のPythonアプリケーションの動作を妨げずにインストールおよびアップグレードできます。
pyvenv - 仮想環境の作成も参照してください。
- virtual machine
- 完全にソフトウェアで定義されたコンピュータ。Pythonの仮想マシンは、バイトコードコンパイラによって生成されたバイトコードを実行します。
- Zen of Python
- 言語の理解と使用に役立つPythonの設計原則と哲学のリスト。このリストは、対話型プロンプトに「import this」と入力すると見つかります。
</div>
</div>
<div class="clearer"></div>
</div>