PythonGenericAlias对象是Python 3.7引入的一种新对象,
▥Python
𝄐 0
python中对象的特性,python特性和属性,python对象包括哪两大类,python对象的特征,python对象的属性和方法,python对象的三个特征
PythonGenericAlias对象是Python 3.7引入的一种新对象,它用于表示泛型类型注释(Generics Type Annotations),即参数化类型和类型变量。PythonGenericAlias对象具有两个特殊属性:
1. __origin__属性:获取泛型类型的原始类型。例如,List[int].__origin__将返回list。
2. __args__属性:获取泛型类型注释的参数列表。例如,List[int].__args__将返回(int,)。
下面是一个例子:
python
from typing import List
def foo(bar: List[int]) -> List[str]:
return [str(x) for x in bar]
print(foo([1, 2, 3])) # 输出 ['1', '2', '3']
print(List[int].__origin__) # 输出 <class 'list'>
print(List[int].__args__) # 输出 (<class 'int'>,)
在上面的例子中,我们定义了一个名为foo的函数,它接受一个整数列表bar作为参数,并返回一个字符串列表。参数bar被注释为List[int],即整数列表,返回值被注释为List[str],即字符串列表。我们还打印了List[int]的__origin__和__args__属性,其中__origin__返回list,__args__返回(int,),表示这是一个整数列表。
PythonGenericAlias对象是Python 3.7引入的一种新对象,它用于表示泛型类型注释(Generics Type Annotations),即参数化类型和类型变量。PythonGenericAlias对象具有两个特殊属性:
1. __origin__属性:获取泛型类型的原始类型。例如,List[int].__origin__将返回list。
2. __args__属性:获取泛型类型注释的参数列表。例如,List[int].__args__将返回(int,)。
下面是一个例子:
python
from typing import List
def foo(bar: List[int]) -> List[str]:
return [str(x) for x in bar]
print(foo([1, 2, 3])) # 输出 ['1', '2', '3']
print(List[int].__origin__) # 输出 <class 'list'>
print(List[int].__args__) # 输出 (<class 'int'>,)
在上面的例子中,我们定义了一个名为foo的函数,它接受一个整数列表bar作为参数,并返回一个字符串列表。参数bar被注释为List[int],即整数列表,返回值被注释为List[str],即字符串列表。我们还打印了List[int]的__origin__和__args__属性,其中__origin__返回list,__args__返回(int,),表示这是一个整数列表。
本文地址:
/show-275471.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。