Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

What is the best way to have a "factory method" style?

未关闭
#358 5 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
25/100
Issue 类型
功能
描述清晰度
需要澄清
活跃度
停滞
技术栈
python
领域
cli

调研方向

从使用 fire.Fire(dispatch) 的示例入口点以及 libs/ado.py 中引用的类定义开始。将当前基于字典的 dispatch 与请求的 --obj_type=Foo 调用进行比较,然后确定支持的范围以及如何验证完成情况。

由索引模型根据 Issue 内容生成。

描述

Right now I ended up with a following approach ( not sure if it the best):

import fire
import foo
import bar

def foo(*args):
  Foo(*args).configure()

def bar(*args):
  Bar(*args).configure()

def dispatch(**args):
  print("arguments passed", args)
  """Factory Method"""
  localizers = {
    "policy": foo,
    "repo": bar,
  }
  return localizers[args["obj_type"]](args)

if __name__ == '__main__':
  fire.Fire(dispatch)

Ideally I would want that Fire method allow me to pass classnames as variable which I define through a command line, something like that:

from ado import * # Repo and Policy classes are defined at libs/ado.py 

if __name__ == '__main__':
  fire.Fire(obj_type)
python script.py --obj_type=Foo

Not sure if it's possible 🤔 ...

主要语言
Python
星标
28.2k
派生
1.5k
PR 合并指标
30 天内没有已合并 PR

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

google/python-fire 的其他 Issue

查看 google/python-fire 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。