如何从 python 中的多个对象属性创建一个字符串变量?如何计算地理距离?

how to create a string variable from multiple object attributes in python? how to calculate geographic distances?

我在 python 中创建了一个 class,它有多个属性。我希望对象根据这些属性创建一个新属性。因此,对于街道、城市、州和邮编,我希望该对象创建一个名为地址的字符串,该字符串可与 geopy 一起使用以查找其中两个对象之间的距离。它在下面说这会导致与 float 和 string 的冲突,但我不明白为什么不能这样做。

有没有比这样做更好的计算距离的方法?

class warehouse:
def __init__(self, name, street, city, state, zip):
    self.name =name
    self.street = street
    self.city = city
    self.state = state
    self.zip = zip 

    self.address = self.street + ', ' + self.city + ', ' + self.state + ', ' + str(self.zip)

这里你要用的是str.format().

对于您的用例,它是这样的:

self.address = '{},{},{},{}'.format(self.street, self.city, self.state, self.zip)