专业编程基础技术教程

网站首页 > 基础教程 正文

「每天3分钟学Python」使用 getattr()和setattr()

ccvgpt 2024-08-05 12:12:31 基础教程 11 ℃

01

getattr()

「每天3分钟学Python」使用 getattr()和setattr()

仅仅把属性和方法列出来是不够的,配合getattr()、setattr()以及hasattr(),我们可以直接操作一个对象的状态。

>>> hasattr(obj, 'power') # 有属性'power'吗?

True

>>> getattr(obj, 'power') # 获取属性'power'

<bound method MyObject.power of <__main__.MyObject object at 0x10077a6a0>>

02

setattr()

class MyObject(object):

def __init__(self):

self.x = 123

obj = MyObject()

>>> hasattr(obj, 'x') # 有属性'x'吗?

True

>>> obj.x

123

>>> hasattr(obj, 'y') # 有属性'y'吗?

False

>>> setattr(obj, 'y', 1234) # 设置一个属性'y'

>>> hasattr(obj, 'y') # 有属性'y'吗?

True

>>> getattr(obj, 'y') # 获取属性'y'

1234

>>> obj.y # 获取属性'y'

1234

Tags:

最近发表
标签列表