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

如何创建名称含点的函数?(类似Lua的实现方式)

Python 实现带点命名形式的函数

对应你Lua里的写法,Python里有几种常见实现方式:

1. 使用类(最常用)

和Lua给表添加函数的逻辑一致,Python可以通过定义类并添加静态方法来实现:

class Something:
    @staticmethod
    def FunctionName():
        print("Hello World!")

# 调用
Something.FunctionName()

如果这个方法需要访问类的属性,可替换为@classmethod;要是不需要类/实例关联,静态方法完全匹配你要的直接调用形式。

2. 用字典或SimpleNamespace模拟Lua表

不想用类的话,可以用字典或者types.SimpleNamespace来模拟Lua的表结构:

字典方式

Something = {}
def FunctionName():
    print("Hello World!")
Something["FunctionName"] = FunctionName

# 调用方式1
Something["FunctionName"]()

# 转成可点调用的对象
from types import SimpleNamespace
Something = SimpleNamespace(**Something)
# 调用方式2
Something.FunctionName()

直接使用SimpleNamespace

from types import SimpleNamespace

Something = SimpleNamespace()
def FunctionName():
    print("Hello World!")
Something.FunctionName = FunctionName

# 调用
Something.FunctionName()

3. 使用模块

如果这个函数属于独立模块,创建Something.py文件:

# Something.py
def FunctionName():
    print("Hello World!")

在其他文件中导入模块调用:

import Something
Something.FunctionName()

内容的提问来源于stack exchange,提问作者luka

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 14:45:33