Loading

有关Python函数声明的一些细节

我们都知道用def声明函数,这里说几个很少注意的细节。

指定类型

Python不同于C语言,声明函数无需严格指定参数和返回值的类型,若需要指定可以用以下方法

def LL2UTM(Lat: float, Lon: float)->(float,float):
    x,y = 0,0
    pass
    return float(x),float(y)

运行时可在LL2UTM.__annotations__中查看类型声明

>>> LL2UTM.__annotations__
{'Lat': <class 'float'>, 'Lon': <class 'float'>, 'return': (<class 'float'>, <class 'float'>)}

需要注意的是,这里的“指定”更多意义上是推荐而非强制,部分IDE可能会给出高亮提示,而解释器不会检查类型是否正确。

说明文档

声明函数的第一个字符串会被视作函数的文档,保存在函数的__doc__变量中,悬停时可以显示,甚至支持少量markdown语法。

通常简要说明函数作用,参数含义和返回类型

def LL2UTM(point: np.ndarray)->(np.ndarray):
      '''
      Convert (Lat,Long) to UTM coords.
      return `np.ndarray([UTMeasting, UTMnorthing])`
      East Longitudes are positives, West Longitudes are negative.
      North latitudes are positives, South latitude are negative.
      '''
      ...
      
posted @ 2020-06-04 19:30  azureology  阅读(247)  评论(0编辑  收藏  举报