ant*_*869 17 python type-hinting python-3.x
我正在定义一个方法
def foo_my_class(my_class: ???, bar: str) -> None:
""" Operate on my_class """
Run Code Online (Sandbox Code Playgroud)
我想知道,如何使用类型提示功能来指定应该在第一个参数中传递的类。
基本上,我应该放什么而不是在???那里做标记?
这里还有一些代码,可以更具体地说明我要实现的目标。
class Base(object):
"""base class"""
class X(Base):
"""some class"""
class Y(Base):
"""some other class"""
foo_my_class(X, "foo")
foo_my_class(Y, "bar")
Run Code Online (Sandbox Code Playgroud)
roi*_*ere 55
from typing import Type
class X:
"""some class"""
def foo_my_class(my_class: Type[X], bar: str) -> None:
""" Operate on my_class """
Run Code Online (Sandbox Code Playgroud)
Dan*_*man -11
您只需使用该类本身。
def foo_my_class(my_class: MyClass, bar: str) -> None:
Run Code Online (Sandbox Code Playgroud)
来自PEP(强调我的):
类型提示可以是内置类(包括标准库或第三方扩展模块中定义的类)、抽象基类、模块中可用的类型
types以及用户定义的类(包括标准库或第三方扩展模块中定义的类)模块)。
| 归档时间: |
|
| 查看次数: |
16168 次 |
| 最近记录: |