欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

动态属性添加方法

程序员文章站 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)
相关标签: Python 属性