十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这是函数注解,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)) #打印函数返回值
源代码(注意源代码的缩进)
你用的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.
Python 函数参数有冒号 - 声明
type hint, 即类型提示 。
官方网站:
def add(a,b) - int:
return a+b
函数可以不加-表示动态定义。a b 数据类型不一定为int,也可以为float
加-表示静态定义。a b 数据类型为int