ホームページ >バックエンド開発 >Python チュートリアル >Python の Self について話しましょう。それは誰ですか?
class Students: # 构造方法 def __init__(self,name): self.name = name # 实例方法 def study(self,examination_results): self.examination_results = examination_results print("同学{}的考试分数是{}".format(self.name,self.examination_results)) print("该实例对象的地址是{}".format(self))まず、student_a の例を見てみましょう。
studend_a = Students('studend_a') print(studend_a.name)結果が出力されます:student_a。 別の例、student_b を見てみましょう。
studend_b = Students('studend_b') print(studend_b.name)結果が出力されます:student_b。 インスタンス(オブジェクト)が異なり、出力結果も異なることがわかりますが、クラスをインスタンス化すると、実際にはself.nameとインスタンス(オブジェクト).nameが同じになります。 先ほどのコードを例として、内部でインスタンス メソッドを呼び出すと、self が出力されるので、よりわかりやすくなります。 インスタンスstudent_a:
studend_a = Students('studend_a') print(studend_a.study(80))出力結果: 学生student_aのテストスコアは80です。このインスタンスオブジェクトのアドレスは
です。
インスタンス Student_b:studend_b = Students('studend_b') print(studend_b.study(80))出力結果: 学生 Student_b の試験のスコアは 80 です。このインスタンス オブジェクトのアドレスは
です。
self はインスタンス (オブジェクト) 自体を表すため、2 つのインスタンスによって出力される self が異なることが明確にわかります。 インスタンス Student_b を例として、self を出力すると、次のオブジェクト情報が表示されます。。 <__main__.students object at>
student_b を再度印刷すると、同じ結果が表示されます。print(student_b)出力:
。 <__main__.students object at>
クラスがインスタンス化された後、self がインスタンス (オブジェクト) 自体を表すことは、この時点で明らかです。以上がPython の Self について話しましょう。それは誰ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。