我的函数仍然接受其他数据类型值作为参数。但我希望我的函数只接受字符串作为参数。如果它接受其他字符串参数,它应该返回TypeError。我使用Python 3.9.5版本。def fun(string:str):
return string
字符串
有趣的(123)123
ccrfmcuu1#
试试这个:
def fun(string: str): assert isinstance(string, str), "TypeError" return string
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
2条答案
按热度按时间ccrfmcuu1#
试试这个:
字符串
xmq68pz92#
默认情况下,python忽略这些类型的注解。只有特定的模块和程序,如inspect,mypy等,可以理解这些类型的注解。(我不确定这些模块。但它是模块特定的)
你可以多加一行,这样如果有字符串以外的东西作为参数,你就会得到Assert错误。
字符串