我有一个简单的问题。由于一切都是python中的对象,我可以访问内置对象的内部属性吗?
例如a='some String'
,我想访问字符串对象的内部属性a
。
这是我尝试过的:-
for x in dir(a):
if not callable(eval('a.' + x)):
print x
但是,我得到的输出为:
__doc__
但是,我想访问该对象的其他属性,该对象将自己使用这些属性。
有没有办法可以访问这个对象的抽象属性?
只是为了详细说明:
class Some(object):
def __init__(self, initialiser):
self.initialiser = initialiser
s = Some('Any object can be put here, I am using a string')
print s.initialiser ## This is how I'm accessing the attribute of the class Some. Similarly, can I ##access the attributes of the string object `a` defined above?
print s
# 给我:<__main__.Some object at 0x02371AF0>
那么,为什么不print a
给我这样的输出。因为,当我打印时调用了某个方法a
,该方法访问存储实际字符串序列的内存并打印它。但是,当我打印时不会发生这种情况s