这是函数注解,Python 3.x引入,它的特点有
创新互联专注于河西网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供河西营销型网站建设,河西网站制作、河西网页设计、河西网站官网定制、微信小程序开发服务,打造河西网络公司原创品牌,更为您提供河西网站排名全网营销落地服务。
对函数的参数进行类型注解,以冒号标记
对函数的返回值进行类型注解,以箭头标记
只对函数参数或返回值做一个辅助的说明,并不对函数参数或返回值进行类型检查
提供给第三方工具,做代码分析,发现隐藏bug
函数注解的信息,保存在__annotations__属性中
注解本身是一个字典类型的数据
你的程序我帮你完善了(函数注解部分的解释见注释),你看看吧
from typing import List
def f(a) - List[dict]: #函数注解,返回一个字典列表,但是它不对返回值类型进行检查
print(a) #打印字典
return [a] #返回字典列表
print(f.__annotations__) #打印函数注解
l={'Name': 'Zara','Age':17} #把字典传入函数
print(f(l)) #打印函数返回值
源代码(注意源代码的缩进)
-:标记返回函数注释,信息作为.__annotations__属性提供,__annotations__属性是字典。键return是用于在箭头后检索值的键。但是在Python中3.5,PEP 484 - Type Hints附加了一个含义:-用于指示函数返回的类型。它似乎也将在未来版本中强制执行。
eg:
def test() - [1, 2, 3, 4, 5]:
pass
print(test.__annotations__)
输出:
{'return': [1, 2, 3, 4, 5]}
你用的graphics模块?这不是内置的,虽然它是调用内置的Tkinter画图。
option可以是"first","last","both"或"none"。见graphics.py:
def setArrow(self, option):
if not option in ["first","last","both","none"]:
raise GraphicsError(BAD_OPTION)
self._reconfig("arrow", option)
细节要查Tk文档:
6.6. The canvas line object
In general, a line can consist of any number of segments connected end to end, and each segment can be straight or curved. To create a canvas line object on a canvas C, use:
id = C.create_line ( x0, y0, x1, y1, ..., xn, yn, option, ... )
The line goes through the series of points
(x0,
y0),
(x1,
y1),
…
(xn,
yn).
Options include:
arrow The default is for the line to have no arrowheads. Use
arrow=FIRST to get an arrowhead at the(x0,y0)end of the line. Use
arrow=LAST to get an arrowhead at the far end. Use
arrow=BOTH for arrowheads at both ends.