python-3.x 我的函数不应该接受其他的数据类型作为参数

yzuktlbb  于 12个月前  发布在  Python
关注(0)|答案(2)|浏览(98)

我的函数仍然接受其他数据类型值作为参数。但我希望我的函数只接受字符串作为参数。如果它接受其他字符串参数,它应该返回TypeError。我使用Python 3.9.5版本。
def fun(string:str):

return string

字符串

输出:

有趣的(123)123

ccrfmcuu

ccrfmcuu1#

试试这个:

def fun(string: str):
    assert isinstance(string, str), "TypeError"
    return string

字符串

xmq68pz9

xmq68pz92#

默认情况下,python忽略这些类型的注解。只有特定的模块和程序,如inspect,mypy等,可以理解这些类型的注解。(我不确定这些模块。但它是模块特定的)
你可以多加一行,这样如果有字符串以外的东西作为参数,你就会得到Assert错误。

def fun(string:str):
    assert isinstance(string, str)
    return string

print(fun('425')) # output: 425
print(fun(425)) # output : assertion error

字符串

相关问题