获取没有 ' ' 的值

get the value without ' '

嗨,我想做的是这个。

from googlefinance import getQuotes

def live_price(symbol):
    price = getQuotes(symbol)[0].values()[3]
    print price

如果我 运行 这个,它会给我输入 live_price 的某只股票的价格。但我想做一些这样的计算:

live_price('A')+live_price('B')

但是由于 print 没有像 "output" 那样给我价格,所以我不能使用这些数字来计算某些东西。

所以我在最后一行尝试了 price 而不是 print price。 然后它给我某只股票的价格作为输出,这样我就可以用它来计算。但问题是数字是一个字符串,它不会正确计算。

我应该怎么做才能将价格作为输出,以便我可以使用该数字来计算我想计算的东西?

使用

将字符串转换为实数值
return float(price)

听起来你有一个 'string'。您需要一个数字,因此将其转换为 floatDecimal:

In [1]: my_str = '1.35'

In [2]: my_str_as_a_number = float(my_str)

In [3]: my_str_as_a_number
Out[3]: 1.35

In [4]: my_str_as_a_number + 1
Out[4]: 2.35

float是内置的,但是如果你想要Decimal你需要先导入它。

In [5]: from decimal import Decimal

In [6]: my_str_as_a_decimal = Decimal(my_str)

In [7]: my_str_as_a_decimal + 1
Out[7]: Decimal('2.35')

您也可以将 Decimal 转换为 float

In [8]: float(_)
Out[8]: 2.35

使用小数比使用浮点数的优势在于小数避免了一些常见的 gotchas 由浮点表示的不精确性引起的。

使用浮动和 return 价格而不是打印。

from googlefinance import getQuotes

def live_price(symbol):
     price = getQuotes(symbol)[0].values()[3]
     return float(price)

x = live_price('A')+live_price('B')
print(x)