在Python函数中显式定义数据类型

2024-05-16 17:59:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在python函数中定义两个变量,并显式地将它们定义为float。但是,当我试图在函数参数中定义它们时,它显示语法错误。

请帮我得到想要的结果。

代码如下:

def add(float (x) , float (y)) :
    z = (x+y)
    return (print ("The required Sum is: ", z))

add (5, 8)

Tags: the函数代码addreturn定义isdef
3条回答

将函数z = float(x+y)更改为z = float(x)+ float(y)

在这一点上,我们假设我们只是把数字加在一起。

让我们确保我们一直在用浮子。在将参数相加之前,请将它们转换为浮点数。可以使用float()函数来完成此操作。

好吧,让我们确保不管它是什么,它都转换成了一个浮点数

    def add(x, y):
        z = float(x)+ float(y)
        print "The required Sum is:  {}".format(z)
        return z

    add (5, 8)

但如果a&b是字符串呢??需要好好照顾。

def add(x, y)
    try:
        a = float(x)  
        b = float(y)
    except ValueError:
        return None
     else:
        return True

顺便说一句,不需要检查python中的数据类型,这样就简单多了

def addSum(x,y):
    return x+y

addSum(2.2, 5.6)
7.8
addSum(float(2), float(5))
7.0
addSum(2, 5)
7
addSum("Hello ", "World!!")
'Hello World'

Python是一种强类型动态语言,它将类型与相关联,而不是与名称相关联。如果要强制调用方提供特定类型的数据,唯一的方法是在函数中添加显式检查。

最近type annotations被添加到语言中。现在可以编写语法正确的函数规范,包括参数类型和返回值。示例的注释版本将是

def add(x: float, y: float) -> float:
    return x+y

不过,请注意这只是语法。Python解释器中没有任何动作。有像^{}这样的外部工具可以帮助您实现您的目标,尽管它们还处于初级阶段。

在Python中定义数据类型是不可能的,因为它是strongly typed dynamic language但是可以添加类型提示。

link: str

这是python中hint类型的示例。 你也可以check-out.

相关问题 更多 >