动态属性添加方法
程序员文章站
2022-03-25 18:45:39
...
#动态添加属性:
#1.对象.属性
# class Person(object):
# def __init__(self,name):
# self.name = name
# p=Person('fjq')
# # p.age=18
# # print(p.age)
# if hasatter(p,'name'):
# print(True)
# else:
# print(False)
# setattr(p,'age',18)
# print(p.age)
# import types
# class Person(object):
# def __init__(self,name):
# self.name = name
# p1 = Person('p1')
# p2 = Person('p2')
# def run(self):
# print('%s 在奔跑'%self.name)
# p1.run=types.MethodType(run,p1)
# p2.run=types.MethodType(run,p2)
# p1.run()
# p2.run()
#动态添加类方法
# class Person(object):
# country = 'china'
# def __init__(self,name):
# self.name = name
# @classmethod
# def run(cls):
# print('%s 在奔跑'%cls.country)
# Person.run=run
# Person.run()
#动态添加静态方法
# class Person(object):
# country = 'china'
# def __init__(self,name):
# self.name = name
# @staticmethod
# def run():
# print('正在奔跑')
# Person.run=run
# Person.run()
#动态删除属性
# class Person(object):
# country = 'china'
# def __init__(self,name):
# self.name = name
# p = Person('fjq')
# print(p.name)
# del p.name
# print(p.name)
#__slots__魔术变量
class Person(object):
__slots__=('name','age')
def __init__(self,name):
self.name = name
p1=Person('fjq')
print(p1.name)
p1.age=18
print(p1.age)
上一篇: 区分 实例属性 原型属性 静态属性
下一篇: Java用链表实现栈的链式存储结构