作爲一個簡單的例子,我們假設我們要創建大量的Earthquake
實例,其名稱,原點時間和震源座標屬性來自其他來源(字符串編碼爲"Nepal 25-4-2015T11:56:26 28.14 84.71 15.0"
)。如何通過調用__init__方法中的方法來引入python中的對象的屬性?
class Earthquake(object):
def __init__(self, strline):
....
所以,我們必須做的是:
解析字符串接受的名稱,日期,時間,經緯度和深度。通過將這些值傳遞給初始化調用
__init__
來實例化Earthquake
。
想象中的第一部分通過一個簡單的函數來完成:
import datetime as dt
def myfunc(strline):
items = line.split()
name = items[0]
otime = dt.datetime.strptime(items[1], "%d-%m-%YT%H:%M:%S")
lat, lon, depth = map(float, items[2:])
現在我想使用類class Earthquake
的方式來創建Earthquake
對象,每個對象都有屬性Earthquake.name
,Earthquake.otime
,Earthquake.lat
,Earthquake.lon
和Earthquake.depth
。
如何在類中使用__init__
方法調用myfunc
方法初始化具有上述屬性的對象?
我從這個答案中學到了OOP的一個新方面。 – bcdan