python函数注解

先上一段代码:

def add(a:float, b:float)->str:
    print('a =',a,'b =',b)
    print('a的类型:',type(a),'b的类型:',type(b))
    try:
        return str(a+b)
    except:
        print("error")

此处定义了一个j执行加法的函数add,注意其参数定义,python的参数定义和C、C++的参数定义不一样,python的参数定义并不需要指定参数的类型,而C、C++则需要指定参数的类型。但是观看上面的代码时,似乎指定了a、b参数的类型为float类型,并且返回值类型为str,但是其实上面的float和str只是对参数的一种解释,即方便开发过程中函数的调用,实际上,依然没有对参数类型和返回类型做出限制。具体可以看以下示例的执行结果。

# 示例1:
print(add(1.4,1.5))

#示例2:
print(add("",None))

示例1的执行结果为

a = 1.4 b = 1.5
a的类型: <class 'float'> b的类型: <class 'float'>
2.9

示例2的执行结果为

a =  b = None
a的类型: <class 'str'> b的类型: <class 'NoneType'>
error
None

可以看到示例1能得到正确的执行结果,而示例2发生了异常,但是程序执行是正确的。
所以可以知道python中定义函数时,对参数类型的声明其实并不指定参数的类型,而是对参数的一种解释,此外下面代码段也是正确的

def add(a:"浮点数", b:"浮点数")->str:
    print('a =',a,'b =',b)
    print('a的类型:',type(a),'b的类型:',type(b))
    try:
        return str(a+b)
    except:
        print("error")

此代码段和一开始代码段的不同之处在于参数类型的声明,可以看到,所谓的参数类型只是对参数的一种解释,并不会检查参数的类型。
同过上面的代码片段可以知道,python中参数类型的声明格式为
参数:变量名+“:”+声明
返回值:位于()之后:之前,用->指明

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值