python中函数不包括什么_为什么函数签名不包括python中的返回参数?

Python不使用静态类型。在<>在C++中,类型签名实际上被认为是函数名称的一部分;如果调用^ {CD1>}和^ {CD2>},实际上调用两个不同的函数。在

在Python中,任何特定的函数都只是一个函数对象。如果你有对它的引用,你可以调用它;你可以用它的名字来查找它,得到它的引用。不管怎样,“类型签名”都无关紧要。在

也可以,在C++中,如果你想重载一个函数,你会多次声明它,并用不同的类型签名;在Python中,你会声明它一次,但是利用“鸭式”来让它用不同的参数做正确的事情。下面是一个例子:// C++

int add2(int a, int b)

{

return a + b;

}

int add2(char const *a, int b)

{

return atoi(a) + b;

}

int add2(int a, char const *b)

{

return a + atoi(b);

}

int add2(char const *a, char const *b)

{

return atoi(a) + atoi(b);

}

# Python

def add2(a, b):

return int(a) + int(b)

有了上述声明,在Python和C中,您都可以使用整数值和/或字符串的任意组合来调用add2()函数。(我没有对字符串进行任何错误处理,但是C++代码将做正确的事情,只要你通过像{{CD4}}这样的敏感字符串),不同之处在于C++中需要使用类型来声明函数的多个版本,并在必要时转换参数;而在Python中,则需要使用类型来声明字符串。您可以以a或b的形式传入任何内容,int()的调用将尝试将传入的值强制为int类型。在

这个Python函数将添加任何两个可以转换为int类型的值。它将处理诸如"3"、浮点值如3.1415、布尔值(True转换为1,False转换为0)等字符串。当你传入int值时,int()的调用只会返回原样的值;否则,int()强制转换为int类型,如果转换失败,则引发异常。在

这是一个使用Python更方便的例子,您可以在几行Python中完成大量工作。(当然Python比C++慢得多,所以Python不适合某些应用。)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值