Introduction to Python callables
() 연산자를 사용하여 A 객체가 호출 될 수 있는 경우, A는 callable이다.
A()
예를 들어, 함수 와 메서드는 callable이다.
Python에서는 다른 많은 object도 callable이다. Callable은 항상 값을 반환합니다.
객체가 호출 가능한지 확인하려면 built-in(내장 함수) callable을 사용할 수 있습니다.(반환값 : bool)
callable(object) -> bool
Python callable function examples
다음은 Python에서 호출 가능한 다양한 유형의 객체를 보여줍니다.
1) built-in functions
Built-in function는 callable이다. 예를 들어, print, len, callable.
print(callable(print))
print(callable(len))
print(callable(callable))
Output:
True
True
True
2) User-defined functions
def 또는 lambda 식을 사용하여 만든 모든 사용자 정의 함수는 callable이다. 예를 들어:
def add(a, b):
return a + b
print(callable(add)) # True
print(callable(lambda x: x*x)) # True
Output:
True
True
3) built-in methods
The built-in method (str.upper, list.append)도 callable이다. 예를 들어:
str = 'Python Callable'
print(callable(str.upper)) # True
Output:
True
4) Classes
모든 클래스는 callable이다. 클래스를 호출하면 클래스의 새 인스턴스가 생성됩니다.
즉 클래스 호출의 반환값은 클래스 인스턴스이다. 예를 들어:
class Counter:
def __init__(self, start=1):
self.count = start
def increase(self):
self.count += 1
def value(self):
return self.count
5) Methods
메서드는 개체에 바인딩된 함수이므로 callable이다. 예를 들어:
print(callable(Counter.increase)) # True
Output:
True
6) Instances of a class
클래스가 __call__ 메서드를 구현하는 경우 클래스의 모든 인스턴스는 callable이다.
class Counter:
def __init__(self, start=1):
self.count = start
def increase(self):
self.count += 1
def value(self):
return self.count
def __call__(self):
self.increase()
counter = Counter()
counter()
print(callable(counter)) # True
Output:
True
Summary
- 객체가 () 연산자를 사용하여 호출될 수 있는 경우 callable이다.
- Python 내장 함수 callable(객체)를 사용하여 객체가 callable인지 여부를 확인합니다.
'Python Object-oriented Programming' 카테고리의 다른 글
Class attributes (0) | 2023.04.02 |
---|---|
Class (0) | 2023.04.02 |
Object-oriented Programming (0) | 2023.04.02 |
Property Decorator (0) | 2023.04.01 |
Metaclass Example (0) | 2023.04.01 |
댓글