python部分ソースコードでのメソッドはpassプレースホルダのみで説明します
まず、
pythonは関数を定義します.関数体が必要です.そうしないと、コンパイルが間違っています.関数体をpassで占有するのは、エラーを防止し、何の動作もしません.このpassのみの関数には、一般的に以下のいくつかの可能性があります.
1、親クラスで関数を宣言しますが、実装を宣言しないで、継承した子クラスによって実装されます.つまり、これは空の方法です.
2、この関数の具体的な実装はpythonではなく、例えばCのような効率的な文法で記述され、パッケージの中で空の方法でビットを占め、呼び出すときはC言語で実装される方法を呼び出す.君の言うことは二つ目の状況かもしれない.pythonには、大量の演算が必要な内蔵関数がCまたはC++で書かれています.
例えばここでは
下層はc言語で実現されています.ここで定義された関数は、
intとstrは何の役割もありませんが、
pythonは関数を定義します.関数体が必要です.そうしないと、コンパイルが間違っています.関数体をpassで占有するのは、エラーを防止し、何の動作もしません.このpassのみの関数には、一般的に以下のいくつかの可能性があります.
1、親クラスで関数を宣言しますが、実装を宣言しないで、継承した子クラスによって実装されます.つまり、これは空の方法です.
2、この関数の具体的な実装はpythonではなく、例えばCのような効率的な文法で記述され、パッケージの中で空の方法でビットを占め、呼び出すときはC言語で実装される方法を呼び出す.君の言うことは二つ目の状況かもしれない.pythonには、大量の演算が必要な内蔵関数がCまたはC++で書かれています.
例えばここでは
def next(iterator, default=None): # real signature unknown; restored from __doc__
"""
next(iterator[, default])
Return the next item from the iterator. If default is given and the iterator
is exhausted, it is returned instead of raising StopIteration.
"""
pass
下層はc言語で実現されています.ここで定義された関数は、
help(str)
のときに表示されるため、言い訳と使用説明に似ているだけです(cソースを見たい場合は、どのように使うかを教えてくれます).目的は、各関数が何をしているのか、注釈反射によってドキュメントを実現する方法です.たとえば、以下で定義する関数def func(a: int, b: str):
return b * a
intとstrは何の役割もありませんが、
inspect.getfullargspec(func).annotations
を使用すると、各変数の定義と同じように定義されます.もちろん、定義はクラスだけでなく、関数、定数などでもあります.