我想在python函数中定义2个变量,并明确地将它们定义为 float 。但是,当我尝试在函数参数中定义它们时,它显示语法错误。
请帮助我获得所需的输出。
以下是代码:
def add(float (x) , float (y)) :
z = (x+y)
return (print ("The required Sum is: ", z))
add (5, 8)
答案 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 变量!