扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、那个是函数定义中,返回值的类型说明。没有具体作用,相当于注释。
创新互联主营循化网站建设的网络公司,主营网站建设方案,成都app软件开发,循化h5小程序设计搭建,循化网站营销推广欢迎循化等地区企业咨询
2、没有为什么,是python的语法。字典就是可以:字典["key"]=value这样来添加键值对。
Python 函数参数有冒号 - 声明
type hint, 即类型提示 。
官方网站:
def add(a,b) - int:
return a+b
函数可以不加-表示动态定义。a b 数据类型不一定为int,也可以为float
加-表示静态定义。a b 数据类型为int
这是函数注解,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.
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流