日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

python 对象创建_从Python中的基类对象创建对象

發(fā)布時(shí)間:2025/3/21 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 对象创建_从Python中的基类对象创建对象 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我有一個(gè)基類:class Animal(object):

def __init__(self, name=None, food=None):

self.name = name

self.food = food

def eat(self):

print "The %s eats some %s" % (self.name, self.food)

以及一個(gè)擴(kuò)展它的類:

^{pr2}$

假設(shè)我有一個(gè)Animal對(duì)象,創(chuàng)建于此:>>> fluffy_as_animal = Animal('dog', 'kibbles')

在python中有沒有一種簡(jiǎn)單的方法可以從fluffy_as_animal創(chuàng)建一個(gè)Pet對(duì)象,而不是實(shí)際寫出:>>>> fluffy_as_pet = Pet(fluffy_as_animal.name, fluffy_as_animal.food)

更新

我做這個(gè)實(shí)現(xiàn)的原因是我有一個(gè)類,它有一個(gè)函數(shù),它返回一組Animal類型的對(duì)象,所有這些對(duì)象我都想實(shí)際用作Pet對(duì)象:class AnimalStore(object):

def fetch(count, query=None, server=None, *args, **kwargs):

connection = connect_to_server(server)

resp = connection.fetch_animals(query)

objects = parse_response(resp)

animals = []

for a in objects[:count]:

animals.append(Animal(a['name'], a.['food']))

return animals

class PetStore(AnimalStore):

def fetch(count, query=None, server=None, *args, **kwargs):

query = 'type=pet AND %s' % query

animals = super(PetFactory, self).fetch(count, query, server, *args, **kwargs)

pets = []

for animal in animals:

pets.append(magic_function(animal))

return pets

AnimalStore和PetStore位于不同的模塊中。AnimalStore是標(biāo)準(zhǔn)AnimalAPI的一部分,不會(huì)改變。基本上,我想擴(kuò)展AnimalAPI,方法是使用與動(dòng)物相同的機(jī)制獲取寵物列表,并且我希望能夠利用動(dòng)物API已經(jīng)為其Animal和AnimalStore類提供的所有其他內(nèi)置函數(shù)。在

總結(jié)

以上是生活随笔為你收集整理的python 对象创建_从Python中的基类对象创建对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。