十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
函数参数中的冒号是参数的类型建议符,告诉程序员希望传入的实参的类型。函数后面跟着的箭头是函数返回值的类型建议符,用来说明该函数返回的值是什么类型。
专注于为中小企业提供网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业大理州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
def twoSum(num1: int, num2: int=100) - int:
sum = num1 + num2 return sum
if __name__ == "__main__": print(twoSum.__annotations__) print(twoSum(1,2)) print(twoSum(1)) print(twoSum('I love ','Arsenal')) #print(twoSum('Arsenal'))
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)) #打印函数返回值
源代码(注意源代码的缩进)
1、那个是函数定义中,返回值的类型说明。没有具体作用,相当于注释。
2、没有为什么,是python的语法。字典就是可以:字典["key"]=value这样来添加键值对。
在Python的数据可视化库中,采用matplotlib绘制相关图形时,若不加任何设定,一般的x-y坐标轴是不带箭头且是一个封闭的矩形。我们以Sigmoid函数的绘制,给大家展示一下。
matplotlib的辅助工具,包含一系列对坐标轴设置的框架。其中的axisartist包就用来设置坐标轴的类型。
1.创建画布并引入axisartist工具。
2.绘制带箭头的x-y坐标轴
我们先把原始的如上图的所有坐标轴隐藏,即长方形的四个边。
然后用ax.new_floating_axis在绘图区添加坐标轴x、y,这里的ax.new_floating_axis(0,0),第一个0代表平行直线,第二个0代表该直线经过0点。同样,ax.axis["y"] = ax.new_floating_axis(1,0),则代表竖直曲线且经过0点。
再次,x.axis["x"].set_axisline_style("-", size = 1.0)表示给x轴加上箭头,"-"表示是空箭头,size = 1.0表示箭头大小。ax.axis["y"].set_axisline_style("-|", size = 1.0)中"-|"则是实心箭头。
最后,设置x、y轴上刻度显示方向,对于x轴是刻度标签在上面还是下面,y轴则是刻度标签在左边还是右边。
3.在带箭头的x-y坐标轴背景下,绘制函数图像
tist坐标轴工具——将原始坐标轴均隐藏掉——添加新的基于原点的x与y轴——为新坐标轴加入箭头,并设置刻度显示方式——加入图形。
你用的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.