|
Python 术语对照表常见问题解答
- 抽象基类 (abstract base class)
抽象基类(ABC)用于定义接口规范,补充鸭子类型。例如:
- from abc import ABC, abstractmethod
- class Animal(ABC):
- @abstractmethod
- def sound(self):
- pass
- class Dog(Animal):
- def sound(self):
- return "Woof!"
复制代码
使用 @abstractmethod 标记必须实现的方法。
- 装饰器 (decorator)
装饰器用于修改函数/类的行为。例如日志装饰器:
- def log(func):
- def wrapper(*args):
- print(f"调用 {func.__name__}")
- return func(*args)
- return wrapper
- @log
- def greet(name):
- print(f"你好,{name}!")
复制代码
等价于 greet = log(greet)
- GIL 全局解释器锁
CPython 中防止多线程竞争的核心机制。在计算密集型任务中建议使用多进程:
- import multiprocessing
- def heavy_task():
- # 计算代码
- pass
- if __name__ == '__main__':
- p = multiprocessing.Process(target=heavy_task)
- p.start()
复制代码
- 类型提示 (type hint)
- def greet(name: str) -> str:
- return f"Hello, {name}"
复制代码
使用 mypy 进行静态类型检查
- 生成器 (generator)
使用 yield 实现惰性计算:
- def fibonacci():
- a, b = 0, 1
- while True:
- yield a
- a, b = b, a + b
- fib = fibonacci()
- print(next(fib)) # 输出 0
- print(next(fib)) # 输出 1
复制代码
遇到具体问题欢迎提出,我会用最规范的 BBCode 格式为您解答!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|