対象に向かういくつかの思考について


ちょうどpythonプログラムを書いて、1つのオブジェクトの集合コンテナクラスを書いて、反復器の方法を実現してfor in文を許可するかどうか悩んでいます.突然、for a in objとfor a in objが発見された.lは人に大きな異感を与える.私は一気に明確な考えを得ず(これも問題ではなく、ただの「問題」である)、哲学群での論争といくつかの以前の思考を考えて、ブログを書くことにした.
実はここまで書いて、私はすでにいくつかの考えがあって、それはpythonが属性を隠さないで、とても良いパッケージができません--しかし更に多くて、私もわざと“状態”と“属性”(“フィールド”と“属性”が一部の人に対してもっと良いかもしれません)、つまり1つのオブジェクトの中で保存する値の機能の上の意義を区別したことがありません.反復メソッドが実装されると、クラスはリストとは関係ありません.objを使うとlの方法では、このクラスは「カスタムオブジェクトのコンテナではなく、リストのコンテナ」(カスタムオブジェクトのコンテナ)にすぎません.リストという余計な概念は常に暴露されており、外部アクセスのための「属性」ではなく、暗黙的な「状態」として機能する必要があります.--言語レベルではpythonのオブジェクトには属性しかありませんが、一部のプログラマーは......意識的に両者を区別し、pythonの「偽のプライベート属性」特性を使用します.二重下線の先頭の名前で属性を命名します(ステータスとして使用されます).
以前にも、「テンプレート継承」に関連するオブジェクト向けの考え方がありました.pythonのformat関数はテンプレートとして便利に使用できます.Webテンプレートが必要です.つまり、わずか数箇所の異なる文字列を生成するために使用する場合は、formatを使用する文字列で表すことができます.次に、次のような値を入力します.
template = "

Good {time}, {name}!

" print(template.format(time="night",name="Amy"))

「テンプレート継承」は哲学的な問題を引き起こした.次の場合:
template2 = "

Good night, {name}!

"

このテンプレートは明らかに前のテンプレートから「継承すべき」である.この「継承」を実現するには、format関数を拡張するだけで、このようなルールを追加することができます.
  • 新しいformat関数は、一致しない項目に対して、置換
  • を実行しない.
    私たちはその行為を予想することができます.
    >>> "

    Good {time}, {name}!

    ".format(time="night") "

    Good night, {name}!

    "

    この新しいformat関数はとても面白くて、それは普通のformatの機能を持っています!すなわち、通常のformatが「テンプレートをインスタンス化できる」という場合、新しいformatについては「テンプレートをインスタンス化することも、テンプレートを新しいテンプレートから継承することもできる」ということです.この时、私は自分を疑い始めました.いったい何が実例化と継承なのか.
    また、ここでは新しいformat関数の大まかな実装を示します(笑):
    def new_format(s,**d):
        class D:
            def __init__(self,d):self.__d = d
            def __getattr__(self,s):return self.__d.get(s,'{'+s+'}')
        s_ = '{0.'.join(s.split('{'))
        return s_.format(D(d))
    
    template = "

    Good {time}, {name}!

    "  # test print(new_format(template,time="night",name="Amy")) print(new_format(template,time="night"))

    もう一つの問題を考えました.置換する必要のない文字列は、インスタンスと見なすことができますが、クラスではありませんか.この派生したクラスは,ベースクラスの初期化パラメータを満たしており,他のパラメータは不要である.偏関数に触れたり、コリー化したりした友达は、これを比較することができます.
    「果物は一つの種類で、りんごや梨などは果物類から派生した例」という例を、対象に関する本で読んだことがある.よく考えてみると、実際にはリンゴや梨も類であり、具体的なリンゴは、ある梨が実例と言える--しかし、私がこの例を批判するのではなく、実例化は詐欺だ.(笑)コンピュータで、「インスタンス」をどのように説明しているのか考えてみましょう.具体的なデータはありますよね?しかし、哲学的に言えば、任意の多くの記述は具体的なものを指定することはできません.それは依然として記述の山であり、記述の山はまさに「クラス」を指定しています.
    インスタンス化されたことはなく、継承するしかありません.--しかし、プログラミングを学ぶには哲学を学ぶ必要はありません.インスタンス化は実質的な問題ではないと信じています.「アップルが対象なのかクラスなのか」に戸惑うことはめったにありません.
    しかし、多くの場合、クラスは言語で死んでいる.我々が汎化する層を実例化すればよいとしか言いようがない......luaのオブジェクト向けシステムを用いたり,既存のタイプシステムをまったく用いて実際のクラスを表したりしない(UnityのECSモデルにはこのような哲学があるようだ)
    しかし文字列からクラスまで、これは妥当ですか?クラスの継承は機能をますます多くし、文字列とバイアス関数は機能をますます少なくします.クラスの継承に機能が追加されました.
    しかしよく考えてみると矛盾せず、追加機能も「自由度を低くした」.1つのクラスを使用しても論理的にサブクラスの機能は使用できません.
    ..................(私は自分の言語でクラスを実現して体験しなければならない)
    もう一つの思考は、ある抽象概念を他人といろいろ説明できず、自然言語の妙を感慨していることだ.りんごは食べられます
    奇妙ではないでしょうか.「りんご」は一つの種類ですが、食べられるものは自然にある実例(現実の「実例」は妥当)で、誤解する人はいません.でも-
    「夢は偽物」
    私はどのような表現で「夢自体が本当」という状況を理解していますか?どう表現すればいいですか?
    論理はやはり人のやるべきことではない.
    (2018-8-12地球上)(完)