You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现输入员工编号获取对应Worker实例详情的方法

按编号调用Worker实例详情的简洁实现

不用冗长的if-else,有两种简单方法可以实现你的需求:

方法一:用字典映射实例(推荐,更安全)

先把所有Worker实例按编号存到字典里,之后直接通过编号查字典调用方法:

# 先创建映射字典,把你的Worker实例对应到编号
worker_map = {
    31: Worker_31,
    32: Worker_32,
    33: Worker_33,
    34: Worker_34,
    35: Worker_35,
    36: Worker_36,
    37: Worker_37,
    38: Worker_38,
    39: Worker_39,
    40: Worker_40,
    41: Worker_41
}

# 获取用户输入并处理
worker_id = int(input("请输入员工编号(31-41):"))
if worker_id in worker_map:
    print(worker_map[worker_id].details)
else:
    print("输入的编号不存在")

方法二:通过全局命名空间动态获取实例(更省事)

利用Python的globals()函数,根据输入的编号拼接实例名称,直接获取对应实例:

worker_id = int(input("请输入员工编号(31-41):"))
# 拼接实例名称,比如输入36就得到"Worker_36"
instance_name = f"Worker_{worker_id}"
# 从全局变量里取出对应的实例
worker = globals().get(instance_name)

if worker:
    print(worker.details)
else:
    print("输入的编号不存在")

两种方法对比

  • 方法一需要手动维护字典,但能明确控制哪些实例可以被调用,避免意外访问其他变量,安全性更高。
  • 方法二不用手动写映射,适合你这种实例命名规则固定的场景,但如果全局空间里有同名变量可能会出问题。

内容的提问来源于stack exchange,提问作者The Stupid Person

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 16:10:41