[Python] getattr / hasattr / setattr
Define Example Class
# Define Class
class ExampleClass:
def __init__(self):
self.tmp = 'Get Attribute!'
a = ExampleClass() # Make Instance
getattr
형태 : getattr(object, name[, default])
-
name : String
-
getattr(some, 'attr')
==some.attr
-
해당 attribute(속성) 가 없을 경우, AttributeError 반환
-
default 값을 지정하면 해당속성이 없을 경우 에러가 아닌, 반환받을 값을 지정할 수 있다.
Example
getattr(a, 'tmp')
>>> 'Get Attribute!'
getattr(a, 'new', 'Not Exist')
>>> 'Not Exist'
hasattr
형태 : hasattr(object, name)
-
name : String
-
name 에 해당하는 문자열이 object 의 속성에 해당하면 True,
아니면 False 반환
Example
hasattr(a, 'tmp')
>>> True
hasattr(a, 'new')
>>> False
setattr
형태 : setattr(object, name, value)
-
name : String
-
object 의 name 에 해당하는 속성을 value 값으로 할당
-
setattr(some, 'attr', "7")
==some.attr = 7
Example
setattr(a, 'tmp', 'Set New Value")
print(a.tmp)
>>> 'Set New Value'
Leave a comment