在Python函数

时间:2017-04-05 14:05:11

标签: python python-3.x function floating-point explicit

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

请帮助我获得所需的输出。

以下是代码:

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

add (5, 8)

4 个答案:

答案 0 :(得分:6)

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

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

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

请注意,这只是语法。 Python解释器中没有任何操作可以执行任何操作。有一些外部工具,如mypy,可以帮助您实现目标,尽管它们仍处于起步阶段。

答案 1 :(得分:0)

将功能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)

但如果& 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'

答案 2 :(得分:0)

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

link: str

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

答案 3 :(得分:0)

但是你可以检查函数中提供的实例是否是你想要的类型!

def add(x: float, y: float) -> float:
      if not isinstance(x, float):
           raise TypeError("x and y variables not of type float")

类似于 y 变量!