700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python冒号声明类型_Python 函数参数有冒号 声明后有- 箭头 返回值注释 参数类型注释...

python冒号声明类型_Python 函数参数有冒号 声明后有- 箭头 返回值注释 参数类型注释...

时间:2022-01-09 12:28:55

相关推荐

python冒号声明类型_Python 函数参数有冒号 声明后有- 箭头  返回值注释  参数类型注释...

在python3.7 环境下 函数声明时能在参数后加冒号,如图:

1 def f(ham: str, eggs: str = 'eggs') -> str :

2 print("Annotations:", f.__annotations__)

3 print("Arguments:", ham, eggs)

4 return ham + ' and ' + eggs

5

6 print(f("test","abc"))

可能有疑问,python不是动态类型语言 ,难不成还能指定参数类型?

来看一下打印结果:

但同时也确实能传其他类型的值 如:f("test",123)

那结果如何呢? 如下:

当然会报错了啊,返回值是一个字符串,int型不能参与字符串拼接,那参数后写一个:str 和 ->str是什么意思呢?

在官方文档指明.__annotations__是函数的参数注释和返回值注释:

所以打印出Annotations: {'ham': , 'eggs': , 'return': }

其实并没有指定类型 只是写函数的人提醒用函数的人最好传什么类型的参数,因为最后需要两个参数进行字符串拼接;

当然,也可以直接写字符串提醒:

def f(ham: "传一个字符串", eggs: str = 'eggs') -> str :

print("Annotations:", f.__annotations__)

print("Arguments:", ham, eggs)

return ham + ' and ' + eggs

print(f("test",123))

而声明函数后那个箭头:"->" 是返回值的注释,-> str 意思即是提醒函数使用者返回值会是一个str型

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。