ホームページ >バックエンド開発 >Python チュートリアル >クラスのインスタンス化の概要
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 は、クラスのメソッドを定義するときにクラスのインスタンスを表しますが、呼び出すときに対応するパラメーターを渡す必要はありません。
クラスメソッドと通常の関数の間に特別な違いが 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 '__main__.Dog'>
実行結果から、self.class がクラスを指しているのに対し、self はクラスのインスタンスを表し、現在のオブジェクトのアドレスを表していることが明確にわかります。
他のプログラミング言語では一般に、キーワード new がクラスをインスタンス化するために使用されますが、Python にはそのようなキーワードはありません。クラスのインスタンス化は関数呼び出しに似ています。
# 创建一个Dog类的对象 d = Dog("xiaohei")
インスタンス化されたオブジェクトはインスタンスとも呼ばれます:
ドット (.) を使用してオブジェクトのプロパティにアクセスできます
# 通过 d.方法 来访问属性 d.eat('beaf') #输出 xiaohei is eating beaf.
以上がクラスのインスタンス化の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。