{site_name}

{site_name}

🌜 搜索

Python 中没有 "Python Union 类型" 的内置类型,但 Pyt

Python 𝄐 0
python中union的用法,pythonunique,pythonunicode,python unindent,union在python,python中union函数
Python 中没有 "Python Union 类型" 的内置类型,但 Python 3.10 引入了一个新的语言特性,即 "Union Types",它可以用来指定一个变量可以是多个不同类型中的任意一种。

具体来说,Union Types 是在类型注解中使用的。例如,在函数参数或返回值上声明一个 Union Type 可以表示该参数或返回值可以是多种类型中的任何一种。语法如下:

python
from typing import Union

def foo(bar: Union[str, int]) -> Union[float, str]:
if isinstance(bar, str):
return float(bar)
else:
return str(bar)


上面的例子中,bar 参数可以是 str 或 int 类型中的任意一种。而函数返回值可以是 float 或 str 中的任意一种。

另外,还可以使用 Optional(表示可选类型)与 Union 结合使用。例如:

python
from typing import Union, Optional

def fizzbuzz(n: Optional[Union[int, str]]) -> Optional[str]:
if n is None:
return None
elif n % 15 == 0:
return "FizzBuzz"
elif n % 3 == 0:
return "Fizz"
elif n % 5 == 0:
return "Buzz"
else:
return str(n)


上面的例子中,n 参数可以是 int 或 str 中的任意一种,或者为 None。函数返回值可以是 str 或 None 中的任意一种。这种写法可以让代码更加灵活,适应多种不同的输入和输出。