2016-10-26 6 views
1

클래스 이름을 메서드로 상수로 전달하려고합니다.Python : 메서드 매개 변수로 상수 전달

예 :

def foo(Bar): 
    # ... 

는 결국, 내가 foo는

이 가능 할 방법에서 클래스 이름으로 를 사용할 수 있도록하려면?

+0

보통 함수에 인수로 상수를 통과 할 필요가 없습니다. –

+0

* "클래스 이름을 상수로 메서드에 전달"*하는 것은 무엇을 의미합니까? 그리고 또한 * "메소드 foo에서 클래스 이름으로 Bar 사용"*? –

답변

1

예, 클래스를 함수의 인수로 전달할 수 있습니다. 아래는 그것을 입증하는 예제입니다.

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)