文件名称:利用函数注解实现方法重载-华为云大数据中台架构分享
文件大小:5.68MB
文件格式:PDF
更新时间:2024-07-01 05:00:47
Python cookbook 中文 参考
9.20 利用函数注解实现方法重载 问题 你已经学过怎样使用函数参数注解,那么你可能会想利用它来实现基于类型的 方法重载。 但是你不确定应该怎样去实现(或者到底行得通不)。 解决方案 本小节的技术是基于一个简单的技术,那就是 Python 允许参数注解,代码可以 像下面这样写: class Spam: def bar(self, x:int, y:int): print('Bar 1:', x, y) def bar(self, s:str, n:int = 0): print('Bar 2:', s, n) s = Spam() s.bar(2, 3) # Prints Bar 1: 2 3 s.bar('hello') # Prints Bar 2: hello 0 下面是我们第一步的尝试,使用到了一个元类和描述器: # multiple.py import inspect import types class MultiMethod: '''