pythonのすべてのオブジェクトについて簡単に説明します

5030 ワード

pythonはオブジェクト向け言語であることはよく知られており、python言語ではpythonのすべてのオブジェクトが間違っていないと言える.Javaを習ったことがあれば、javaもオブジェクト向け言語であることもわかりますが、pythonこそ本当のオブジェクト向け言語です.
1.オブジェクト向けとは
対象は具体的なものといえますが、対象に向かうのは対象と対面するのではなく、物事のやり方で操作します.例を挙げてみましょう.私はホテルに行って食事をして、ウェイターに注文してもらいます.ここは私がウェイターの注文方法を呼び出したと言ってもいいです.ここのウェイターはオブジェクトと言ってもいいですが、私は呼び出し者です.注文が終わったら、店員さんが店に行って炒め物を呼んでくれます.ここはコックも対象です.炒め物はコックの一つの方法です.
2.pythonのオブジェクト
pythonのすべてのオブジェクトは、pythonのクラスと関数がオブジェクトとして扱われているため、pythonの一等公民に属しています.1等公民の需要に合致する以下の4つの条件を満たす.
  • は、変数
  • に直接割り当てることができる.
  • は、集合オブジェクトに追加することができる
  • .
  • は、関数パラメータとして
  • を伝達することができる.
  • は、関数としての戻り値
  • とすることができる.
    ここを見ると、pythonの中では確かにすべての対象であり、一等公民に属しているからだ.
    pythonのオブジェクトには3つの特徴があります
  • アイデンティティ、すなわち記憶アドレスは、id()という方法で
  • を問い合わせることができる.
  • タイプ、すなわちオブジェクトが属するタイプで、type()メソッドで
  • をクエリーできます.
  • の値は、それぞれのデータ
  • があります.
    クエリー・オブジェクトのID
    n1 = 1
    n2 = 2
    print(id(n1))
    print(id(n2))
    #
    1956798624
    1956798656

    クエリー・オブジェクトのタイプ
    print(type(n1))
    print(type(n2))
    #
    'int'>
    'int'>

    両方のタイプが同じであることがわかります.もちろんここではisinstance()という方法でオブジェクトが何らかのタイプに属しているかどうかを調べることができますが、ここではこれを展開しません.
    3.type,objectとclassの関係
    objectはすべてのクラスが継承され、pythonのベースクラスですが、typeもタイプで、objectはタイプがtypeで、typeも自分のインスタンスで、ここまで言うと信じられないかもしれませんが、以下で検証します.typeは、自分でも見逃そうとしないクラスで、自分のオブジェクトを自分で実現しなければならないクラスであり、他のクラスは考えられるので、pythonのすべてのオブジェクトをより十分に説明します.
    検証の下
    print(type(object))
    print(type(type))
    #
    'type'>
    'type'>

    見たでしょう、typeは自分の一例で、後でもっと相手を深く話します.
    またpythonのclass、すなわちクラスはtypeによって生成され、オブジェクトはクラスによって生成され、type-->class-->objectという関係があります.コードで見てみましょう
    class A():
       pass
    a = A()
    print(type(a))
    print(type(A))
    #
    '__main__.A'>
    'type'>

    ここでtypeには、1つのオブジェクトを返すタイプと、1つのクラスを生成する2つの機能があることがわかります.
    ps:もし文章があなたに役に立つなら、小さな手を動かして「いいね」を押して転送してもいいですか.
    日常学python
    コードはバグだけでなく、美しさと楽しみもあります.