python - 鸭子类型(duck typing)以允许元组、列表或可以像一个一样对待的东西

标签 python duck-typing

def foo(spam, obj_of_interest):
"""Pass a _____ and an object of interest, and return [something that does something worthwhile] """
    name = spam[0]
    quest = spam[1]
    fav_color = spam[2]
    # ... interesting code
    return obj_of_interest

你会注意到 foo() 可以完美地运行,无论它是作为列表、元组还是作为任何强制执行命令的东西传递给 spam到元素,可以像列表一样寻址。

如何在不告诉用户使用特定类型的情况下记录这一事实?

最佳答案

你说,

"""spam is an object that supports indexing."""

关于python - 鸭子类型(duck typing)以允许元组、列表或可以像一个一样对待的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14730383/

相关文章:

java - 如何使用 Groovy 或其他一些 JVM 语言对 Java 对象进行 Duck 类型

f# - 为什么这个静态类型成员访问认为它是一个 getter?

python - numpy 中 View 的 ndarray.data 行为

python - 在 Spyder 中注释掉 Python 代码行的快捷键

python - 用python3导入pyrebase时出错

c# - 在 C# 中实现安全的鸭子类型(duck typing)

c++ - 基于方法的特化模板

python - 如何使用 Python 类处理 RDD?

python - 在python中以特定顺序读取文件

javascript - 考虑到工厂功能和序列化的对象类型推荐方法