ホームページ > バックエンド開発 > Python チュートリアル > クラスのインスタンス化の概要

クラスのインスタンス化の概要

零下一度
リリース: 2017-07-20 21:06:14
オリジナル
2852 人が閲覧しました

1. クラスを定義します

class Dog(object):   # 定义class

    def __init__(self, name):  # 构造函数,构造方法 == 初始化方法
        self.name = name   # d.name = name  类的属性 / 成员变量

    def say_hi(self):   # 类的方法
        print("Hello, I am a dog. My name is", self.name)

    def eat(self, food):
        print("%s is eating %s." % (self.name, food))


d = Dog("xiaohei")  # Dog(d,"xiaohei")  d == self

# d 实例化的对象即实例,类中的self相当于实例

d.say_hi()   # d.say_hai(d)

d.eat('beaf')
ログイン後にコピー
  • 最初のメソッド __init__() メソッドは、このクラスのインスタンスが作成されるときに、クラスのコンストラクターまたは初期化メソッドと呼ばれる特別なメソッドです。

  • self は、クラスのメソッドを定義するときにクラスのインスタンスを表しますが、呼び出すときに対応するパラメーターを渡す必要はありません。

2. Self はクラスではなくインスタンスを表します

クラスメソッドと通常の関数の間に特別な違いが 1 つだけあります - 慣例により、追加の 最初のパラメータ名 が必要です 名前は self です。

class Dog(object):

    def prt(self):
        print(self)
        print(self.__class__)

d = Dog()


print(d)
print("-------------")
d.prt()


#输出
<__main__.Dog object at 0x000001DDBD10C5F8>
-------------
<__main__.Dog object at 0x000001DDBD10C5F8>
<class &#39;__main__.Dog&#39;>
ログイン後にコピー

実行結果から、self.class がクラスを指しているのに対し、self はクラスのインスタンスを表し、現在のオブジェクトのアドレスを表していることが明確にわかります。

3. インスタンス オブジェクトを作成する

他のプログラミング言語では一般に、キーワード new がクラスをインスタンス化するために使用されますが、Python にはそのようなキーワードはありません。クラスのインスタンス化は関数呼び出しに似ています。

# 创建一个Dog类的对象
d = Dog("xiaohei")
ログイン後にコピー

インスタンス化されたオブジェクトはインスタンスとも呼ばれます:

4. プロパティにアクセスします

ドット (.) を使用してオブジェクトのプロパティにアクセスできます

# 通过 d.方法   来访问属性
d.eat(&#39;beaf&#39;)

#输出
xiaohei is eating beaf.
ログイン後にコピー

以上がクラスのインスタンス化の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート