私は変数にアクセスして制御したいです。 pyjackモジュールの助けを借りて実装しようとしましたが、pyjack.connect(my_str、proxyfn = my_proxyfn)メソッドは例外...type '<type 'str'>' not supported
をスローします。ここでPythonにはオブジェクトへのアクセスを傍受するメカニズムがありますか?
は、私が何をしたいの例です:
>>> def on_access(obj):
... print 'object with id=%d has been requested' % id(obj)
...
>>> s = 'some string'
>>>
>>> foo(s, handler=on_access)
>>>
>>> print s
object with id=4559856664 has been requested
some string
>>>
>>> s + '.'
object with id=4559856664 has been requested
some string.
UPD:オブジェクトがその型を保持することが重要です。例の続きで
:
>>> import json
>>>
>>> json.dumps(s)
object with id=4559856664 has been requested
'"some string"'
"アクセス"とは何を定義するのか、また定義しないのかを明確に定義できますか? – wim
はい、投稿した例はあなたの質問を明確にするとは思わない。 –
関数ラッパーが必要なように見えます。 'def s():print 'アクセス'; return 'some string''。 – TigerhawkT3