Pythonのベースのチュートリアル:Pythonと動的オブジェクトは動作例のクラスの属性およびメソッドに追加され

この記事では、Pythonと動的オブジェクトは、クラスのプロパティと動作の方法に追加される例について説明します。以下のように、ご参考のためにあなたに共有します:

動的オブジェクトは、クラスとプロパティに追加されます

Personクラスの定義

class Person(object):
 def __init__(self, name):
  self.name = name

オブジェクトにプロパティを追加します。

# 创建2个Person,分别为p1,p2
p1 = Person('amy')
print(p1.name)
p1.age = 10   # 给p1对象添加属性
print(p1.age)  # 输出10
p2 = Person('anne')
print(p2.name)  
p2.age = 18   # 给p2对象添加属性
print(p2.age)  # 输出18

結果:

amy
10
anne
18

クラスにプロパティを追加します。

p1 = Person('amy')
p2 = Person('anne')
Person.sex = 'female'
print(p1.sex) # 输出 female
print(p2.sex) # 输出 female
p2.sex = 'male'
print(p2.sex) # 输出 male

結果:

female
female
male

動的オブジェクトは、クラスやメソッドに追加されます

クラスに追加する動的な方法

# 在类的外部定义一个sleep函数
p1 = Person('amy')
p2 = Person('anne')
def sleep(self):
 print('%s sleep' % (self.name))
Person.sleep = sleep
Person.sleep(p1)  # 输出 amy sleep
Person.sleep(p2)  # 输出 anne sleep

結果:

amy sleep
anne sleep

オブジェクトメソッドに追加します

import types # 如果是给对象动态添加方法,需要导入types模块
p = Person('amy')
def eat(self):
 print('%s eat' % (self.name))
p.eat = types.MethodType(eat, p) # 调用MethodType()函数,参数1:方法名,参数2:对象名
p.eat()    # 输出 amy eat

結果:

amy eat

最後に、我々は非常に広いPythonの学習リソースの収集をお勧めします、[入力する]をクリック]、ここでのビジネス経験の可能性がある、経験、研究ノートを学ぶ前に、私のコレクションであり、プロジェクトの戦闘への情報に基づいてゼロに沈静化、我々は一番下に、メッセージを残し、前方に置くことを知らないことができ、我々は進歩を一緒に勉強します

公開された27元の記事 ウォン称賛14 ビュー20000 +

おすすめ

転載: blog.csdn.net/haoxun08/article/details/104762479