欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python設(shè)計模式之抽象工廠模式

 更新時間:2016年08月25日 11:09:44   作者:WuLex  
這篇文章主要為大家詳細(xì)介紹了Python設(shè)計模式之抽象工廠模式,感興趣的小伙伴們可以參考一下

python面向?qū)ο缶幊倘腴T,我們需要不斷學(xué)習(xí)進(jìn)步

"""抽象工廠模式的實現(xiàn)"""

import random


class PetShop:

  """寵物商店"""

  def __init__(self, animal_factory=None):

    """寵物工廠是我們的抽象工廠。我們可以隨意設(shè)置。""" 
    self.pet_factory = animal_factory

  def show_pet(self):

    """使用抽象工廠創(chuàng)建并顯示一個寵物"""

    pet = self.pet_factory.get_pet()
    print("我們有一個可愛的 {}".format(pet))
    print("它說 {}".format(pet.speak()))
    print("我們還有 {}".format(self.pet_factory.get_food()))


# 工廠生產(chǎn)的事物

class Dog:

  def speak(self):
    return "汪"

  def __str__(self):
    return "Dog"


class Cat:

  def speak(self):
    return "喵"

  def __str__(self):
    return "Cat"


# Factory classes

class DogFactory:

  def get_pet(self):
    return Dog()

  def get_food(self):
    return "狗食"


class CatFactory:

  def get_pet(self):
    return Cat()

  def get_food(self):
    return "貓糧"


# 隨機(jī)創(chuàng)建合適的工廠
def get_factory():
  """讓我們動起來!"""
  return random.choice([DogFactory, CatFactory])()


# 多個工廠顯示寵物
if __name__ == "__main__":
  for i in range(4):
    shop = PetShop(get_factory())
    shop.show_pet()
    print("=" * 20)

結(jié)果如圖:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python程序封裝為win32服務(wù)的方法

    python程序封裝為win32服務(wù)的方法

    這篇文章主要為大家詳細(xì)介紹了python程序封裝為win32服務(wù)的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • pycharm中導(dǎo)入不了torch包的解決方案

    pycharm中導(dǎo)入不了torch包的解決方案

    這篇文章主要介紹了pycharm中導(dǎo)入不了torch包的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python實現(xiàn)替換word中的關(guān)鍵文字(使用通配符)

    python實現(xiàn)替換word中的關(guān)鍵文字(使用通配符)

    今天小編就為大家分享一篇python實現(xiàn)替換word中的關(guān)鍵文字(使用通配符),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 利用Python開發(fā)微信支付的注意事項

    利用Python開發(fā)微信支付的注意事項

    如今支付的引入是很多互聯(lián)網(wǎng)產(chǎn)品都需要的。為了讓用戶用著更方便快捷,集成像支付寶、微信支付這樣的第三方支付也就成了常有的事。今天跟著小編就來看看微信支付開發(fā)中幾個值得注意的地方,涉及代碼之處均用 Python 編寫。
    2016-08-08
  • Python模擬簡單電梯調(diào)度算法示例

    Python模擬簡單電梯調(diào)度算法示例

    這篇文章主要介紹了Python模擬簡單電梯調(diào)度算法,涉及Python線程、隊列、時間延遲等相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • Python用字典構(gòu)建多級菜單功能

    Python用字典構(gòu)建多級菜單功能

    這篇文章主要介紹了Python用字典構(gòu)建多級菜單功能,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • python實現(xiàn)啟動一個外部程序,并且不阻塞當(dāng)前進(jìn)程

    python實現(xiàn)啟動一個外部程序,并且不阻塞當(dāng)前進(jìn)程

    這篇文章主要介紹了python實現(xiàn)啟動一個外部程序,并且不阻塞當(dāng)前進(jìn)程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • python機(jī)器學(xué)習(xí)XGBoost梯度提升決策樹的高效且可擴(kuò)展實現(xiàn)

    python機(jī)器學(xué)習(xí)XGBoost梯度提升決策樹的高效且可擴(kuò)展實現(xiàn)

    這篇文章主要為大家介紹了python機(jī)器學(xué)習(xí)XGBoost梯度提升決策樹的高效且可擴(kuò)展實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 最新評論