私は比較的新しいPython学習者です。そのため、異なる符号化技術を通過、私はこの出くわしながら:パラメータと署名の使用
from inspect import Parameter, Signature
def make_signature(names):
return Signature(Parameter(name, Parameter.POSITIONAL_OR_KEYWORD) for name in names)
class Structure:
list_fields = []
def __init__(self, *args):
for name, val in zip(self.list_fields, args):
setattr(self, name, val)
class Stock(Structure):
__signature__ = make_signature(['name', 'shares', 'price'])
#list_fields = ['name', 'shares', 'price']
class Point(Structure):
list_fields = ['x', 'y']
obj2=Point(20,40)
obj1=Stock('googl', 100, 8000)
print(obj1.name)
私はそれが__init__
方法ですので、Structure
クラスを継承しているPoint
クラスでStructure
クラスとその統合を理解しています。しかし、Point
クラスのオブジェクトを作成すると、をサポートしません。位置引数では、Stock
クラスオブジェクトがこの機能をサポートしています。
- なぜ誰に教えてもらえますか?&どうしますか?
- パラメータを使用する場合は、Signature?
- また、これはメタプログラミングにどのように関連していますか?
- このような例がさらにあります。
make_signature
方法でParameter
の機能をどのように使用しているのですか?make_signature
はどんな方法をしていますか?- プログラムのフロー、つまり、どの関数が誰に返されているのか(その逆も同様)。私の知る限り、
Stock
クラスとPoint
クラスは、Structure
クラスを呼び出していますが、いつmake_signature
メソッドが入っていますか?
そしてまた、私は何か良い説明を見つけることができなかった私は約Signature
いくつかのドキュメントを読むことを試みたが、これらの例は、この種のものではないと私は、このコードのドキュメンテーションをバックトラック迷子に保つように私のためのあまり重いものですPythonのメタプログラミングに関するドキュメンテーション
make_signatureメソッドのParameter関数の使い方とmake_signatureメソッドのやり方について教えてください。あなたはまた、プログラムの流れ、すなわちどの機能が誰に戻っているのか、その逆のことを教えてくれますか? – BlackBeard
私の返事@NiladriSekharBasuを更新しました。あなたの質問はすでに5つの質問であることに注意してください、あなたはそれを継続的に更新してより多くの情報を要求することはできません。それは*新しい*の質問のためのものです。 –