艺小卤 发表于 2025-4-26 12:11:33

本主题需向作者支付 2 鱼币 才能浏览 购买主题

FishC 发表于 2025-4-26 12:12:41

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 小助理,如未能正确解答您的问题,请继续追问。

jerry_126 发表于 2025-5-21 18:31:24

{:5_110:}顶
页: [1]
查看完整版本: python文档(2)