先看一个简单的示例:
# name指定为str类型,返回值为str类型
def greeting(name: str) -> str:
return 'hello:' + name
if __name__ == '__main__':
print('函数参数类型、返回值类型基本使用')
s = greeting('张三')
print(s)
try:
s = greeting(123) # 可以传递其他类型,运行时会报错
print(s)
except TypeError:
print('类型错误!')
在Python中,可以使用函数注解(Function Annotation)来指定函数参数和返回值的类型。 函数注解是Python 3引入的一种语法,允许在函数定义时添加描述性的注释来指定函数参数和返回值的类型, 但这并不会影响函数的行为。
函数注解本质上是Python语言中特殊的注释语法,可以提供更好的代码可读性和明确度,但并不会进行类型检查。在函数内部,仍然可以传递任何类型的参数和返回任何类型的值。
如果要进行类型检查,可以在函数中使用isinstance或其他类型检查函数来验证函数的参数和返回值是否符合预期类型。
示例如下:
def greeting(name: str) -> str:
if not isinstance(name, str):
raise TypeError('参数name必须是字符串类型') # 主动抛出异常
return 'hello:' + name
if __name__ == '__main__':
print('参数校验')
s = greeting('李四')
print(s)
s1 = greeting1(123)
print(s1)