私は関数に渡した変数の名前を取得しようとします。クラス関数の引数/パラメータから変数名を取得
class A():
def __init__(self):
self.a = 1
class B():
def __init__(self):
self.b = A()
self.c = A()
def doSomething(self, hello):
print(hello)
B().doSomething(B().b)
<__main__.A object at 0x7f67571a3d68>
私が望むのは、関数B()。doSomething()で変数がbであることを識別できることです。これは可能ですか? 1つの制約は、関数B()。doSomething()のインスタンス変数だけが渡されることです。ピーウィーで例えば
(https://github.com/coleifer/peewee)、PythonでMySQLのORM、彼らのようなフィルタリングのための式を作成する:
B.select().where(B.b == True)
そしてどういうわけか、彼らはBが渡されていること、識別することができます。それ以外の場合は、クエリを正しく構築できないためです。
私は彼らがクラスで静的変数を使用していることを知っています、これはおそらくトリックですか?
ありがとうございます! :)あなたB().doSomething(B().b)
例で行く
質問doesnの意味をなさない。 'hello == 'b''かどうかを調べようとしていますか?あるいは、実際の変数名を決定しようとしていますか?あるいは 'self.b == hello'と判断しようとしていますか? – MCBama
私は実際の変数名を取得しようとします。それはあまりにも、私はBを渡すことができます。それから私はcが渡されたことを知ります。 – EDNA