要實(shí)現(xiàn)自定義類型轉(zhuǎn)換,你可以重寫自定義類型的構(gòu)造函數(shù),以便接受一個(gè)字符串參數(shù)并將其轉(zhuǎn)換為對(duì)象的屬性。例如,假設(shè)你有一個(gè)自定義的Person類,你可以添加一個(gè)從字符串到Person對(duì)象的構(gòu)造函數(shù),如下所示:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
@classmethod
def from_string(cls, string):
name, age = string.split(',')
return cls(name, int(age))
# 使用自定義類型轉(zhuǎn)換
person_str = "Alice,30"
person_obj = Person.from_string(person_str)
print(person_obj.name) # 輸出: Alice
print(person_obj.age) # 輸出: 30
在上面的示例中,我們定義了一個(gè)靜態(tài)方法from_string
,該方法接受一個(gè)字符串參數(shù),并根據(jù)逗號(hào)分隔將其分割為name和age屬性。然后,我們將這些屬性傳遞給Person類的構(gòu)造函數(shù),并返回新創(chuàng)建的Person對(duì)象。
通過重寫類的構(gòu)造函數(shù)或添加靜態(tài)方法,你可以自定義類型轉(zhuǎn)換并根據(jù)需要將字符串轉(zhuǎn)換為對(duì)象。