2016-10-26 6 views
1

メソッドにクラス名を定数として渡したいと思います。Python:メソッドパラメータとして定数を渡す

例:

def foo(Bar): 
    # ... 

は最終的に、私はFOO

を行うことは可能です。この方法では、クラス名としてバーを使用できるようにしたいですか?

+0

をチェックしてください。 –

+0

「クラス名をメソッドに定数として渡す」*とはどういう意味ですか?そしてまた* "メソッドfooのクラス名としてBarを使う" *? –

答えて

1

はい、classを関数の引数として渡すことができます。以下はそれを証明する例です。

class Bar(): 
    @staticmethod # created staticmethod; can be call without creating the object 
    def my_print(): 
     print 'Hello, I am class function' 

def foo(my_class): 
    my_class().my_print() # call my_print() of the object passed 

foo(Bar) # Pass class "Bar" as argument to "foo()" 
# prints: Hello, I am class function 
0

通常の関数の引数として定数を渡す必要はありません。この

class Bar(): 
    pass 

def foo(param): 
    print "class_name is {}".format(param.__name__) #prints class name 

foo(Bar) 
関連する問題